完全相同javascript的第二次动态加载中的失败是否会盖过第一次成功加载
Can a failure in 2nd dynamic loading of exactly the same javascript overshadow the 1st successful loading?
大家好(我以前问过完全相同的问题,但有人无缘无故地把它标记为副本。他给出的副本没有回答我下面的问题(用粗体显示)
假设我的JS(称之为default.JS,它依赖于一个名为A.JS的lib)首先通过jquery动态加载一些A.JS文件,然后通过添加<script>标记到html文件。(不要问我为什么这么做。这只是我为了简化问题而创造的一个假设情况)。
在IE(IE 9和IE 11)上,A.js实际上被加载了两次,而不是缓存A.js以避免第二次网络请求。我可以从使用IE嵌入式开发工具的网络跟踪中看到这种情况。当我在Chrome上做同样的事情时,Chrome似乎足够聪明,只加载一次A.js(在jquery之后不加载A.js)。
在Windows 7上运行的IE 9上,偶尔我会看到A.js的第二次动态加载(通过<script>标记而不是jquery)由于某种原因失败。我还看到,如果第二次加载A.js失败,根据网络跟踪,http状态不好,我的default.js将无法正确运行(基于通过与default.js绑定的UX进行的用户交互)。
我想自己调试,但这似乎很难,因为第二次加载只是偶尔失败。所以两个基本问题:
1)如果同一个A.js的第二次加载失败,IE会从缓存中清除第一次加载的A.js吗?我之所以这么问,是因为default.js似乎因为缺少A.js库而失败了
2) 有没有什么简单的方法可以通过手动允许第一次加载的A.js通过,但第二次在网络请求级别失败来测试它?
非常感谢
1)这取决于浏览器,但从缓存中删除A.js是合理的,所以是的。
2) 你可以使用Fiddler(免费)来处理网络请求。这是一个很棒的工具,可以调试这类事情:http://www.telerik.com/fiddler
- 是否同步加载了LINK元素
- 如何检查图像是否已加载
- 如何知道字体(@font face)是否已经加载
- 如何检测是否加载了iframe
- 如何知道是否加载了JavaScript(脚本)
- 如何在jsoup的帮助下跟踪我的网站是否加载到android设备上
- 用javascript从窗口获取文档,同时检查文档是否已加载
- 检查是否已加载原型
- 在检索数据时是否可以停止图像加载请求
- 是否有用于加载外部脚本的JavaScript库
- 我的jQuery加载请求是否被调用了两次
- AMD应用程序在浏览器中的加载速度是否快于CommonJS应用程序
- 检查HTML是否已加载到DIV中
- 如何检查mithril.js是否已加载
- 如何检查iframe是否加载在JavaScript中
- 动态图像加载是否会减少服务器过载
- Jquery检查加载是否成功
- 如何知道页面加载是否正确
- Javascript并发问题——我需要一种方法来检查文件加载是否已经完成
- 检查图像加载是否完成