【发布时间】:2015-12-24 17:51:03
【问题描述】:
大家好(实际上我之前问过完全相同的问题,但有人毫无理由地将其标记为重复。他给出的重复没有回答我下面的问题(以粗体显示))
假设我的 JS(称为 default.js,它依赖于一些名为 A.js 的库)首先通过 jquery 动态加载一些 A.js 文件,然后通过添加 第二次加载 A.js标记到 html 文件。 (不要问我为什么这样做。这只是我为简化问题而创造的假设情况。
似乎在 IE(IE 9 和 IE 11)上,A.js 实际上被加载了两次,而不是 A.js 被缓存以避免第二次网络请求。我可以使用 IE 嵌入式开发工具从网络跟踪中看到这种情况。当我在 Chrome 上做同样的事情时,看起来 Chrome 足够聪明,只加载一次 A.js(在 jquery 之后没有加载 A.js)。
在 Windows 7 上运行的 IE 9 上,我偶尔会看到 A.js 的第二次动态加载(通过
我想自己调试它,但这似乎很难,因为第二次加载有时会失败。所以两个基本问题:
1) 如果第二次加载相同的 A.js 失败,IE 是否会从缓存中清除第一次加载的 A.js?我之所以问,是因为似乎 default.js 由于缺少 A.js 库而失败。
2) 是否有任何简单的方法可以通过手动允许第一次加载的 A.js 通过但第二次在网络请求级别失败来测试它?
非常感谢
【问题讨论】:
-
能否请您发布您正在使用的代码,以便我们看到您在说什么。
-
你好 Rory,javascript 基本上是连续做一些很简单的事情。首先它通过 $.ajax 加载 A.js,然后它做一些事情。其次,它再次加载 A.js,但这次是通过添加
标签: javascript jquery internet-explorer internet-explorer-9