大家下午好,我有一个独特的情况,我试图以特定的顺序加载 javascript。似乎浏览器一次通过多个文件从服务器请求 javascript。我的问题是,我需要加载一个,它设置一个 cookie,然后我需要第二个。这是为了检查是否启用了 3rd 方 cookie。根据它们是否存在,它会隐藏或显示 DOM 元素,特别是隐藏 iFrame 并显示一个窗口,说明他们需要启用 3rd 方 cookie,或者有一个可以点击的链接。
我有一个 .net MVC 应用程序,它有一个控制器和 2 个动作。动作 1 称为 setcookie,它只返回一个 cookie。
第二个操作称为 ValidateCookie,它检查是否发送了 cookie,并返回一个简单的 Javascript 函数,该函数返回 true 或 false。但问题是,有时浏览器会在 setcookie 之前调用 ValidateCookie。我已经使用提琴手验证了这一点。但并非总是如此,通常它是以正确的顺序调用的。也许十分之一是倒退的。
我尝试将 SetCookie 放在头部并在正文的末尾进行验证。在正文顶部设置,在末尾验证,都在末尾,使用链接标签调用 setcookie,使用 img 标签,使用 CSS @import。设置延迟=无。我似乎无法让它以正确的顺序加载 javascript。因为它的顺序不正确,cookie 结果函数很可能会返回 false,即使它们确实启用了它们。
我找到了一些解决方案,它们让第一个 javascript 调用一个将第二个脚本标记动态添加到 html 的方法。一切都很好,除了我需要在一切继续之前加载这两个 javascript。并在所有其他脚本完成后加载动态添加的脚本标签。
也许这也是不可能的,因为现在一切都是关于同时加载多个文件。