您现在的位置:首页 --> JavaScript --> JS文件加载失败处理
JS文件加载失败处理
浏览:3267次 出处信息
浏览器的文件加载实际上是有非常纠结的兼容问题的。最近看到@lifesinger做了一个具体的总结。这里比较麻烦的是IE6~8不区分加载成功或失败,都走一个回调。在网上看了一种解决方案是,在加载文件的最后置一个全局变量或改变标签的属性来区分,这样成功与否就通过这个标志位判断。但显然不太完美,还要改加载文件。
后来尝试另一种思路,先创建一个vbscript,src置成一个JS文件,如这个文件加载正常,肯定会报错否则不会有反应。这样如果window.onerror捕获到错误了,说明文件有效,再正常加载。如果没捕获到,n秒后会触发一个超时。
这部分代码:
if(ie && ie < 9) {
vbs = doc.createElement(\'script\');
vbs.language = \'vbscript\';
vbs.src = file;
saveErrorHandle = win.onerror;
win.onerror = function() {
load();
win.onerror = saveErrorHandle;
return true;
};
setTimeout(function(){
ref.parentNode.insertBefore(vbs, ref);
}, 0);
} else {
load();
}
DEMO: http://hikejun.com/demo/demo_js_errorback.html
建议继续学习:
- php无法加载pcre.so的解决办法 (阅读:3545)
- 一个IE6下重复加载的BUG (阅读:3547)
- 用C++面向对象的方式动态加载so (阅读:3499)
- IE6图片加载的一个BUG (阅读:3311)
- 渐进式的脚本加载 (阅读:3018)
- 关于Feed流信息的加载方式 (阅读:3016)
- 动态加载JavaScript的小实践 (阅读:2819)
- 交互模式之分页还是加载? (阅读:2688)
- 加载,不只是少一点点 (阅读:2239)
- 内容loading加载后高度变化CSS3 transition体验优化 (阅读:2160)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:IE中Image .onload方法问题
后一篇:正则表达式字面量在ECMAScript5中的变化 >>
文章信息
- 作者:kejun 来源: Kejun's Blog
- 标签: 加载
- 发布时间:2011-05-17 08:42:19
建议继续学习
近3天十大热文
-
[917] WordPress插件开发 -- 在插件使用 -
[135] 解决 nginx 反向代理网页首尾出现神秘字 -
[54] 整理了一份招PHP高级工程师的面试题 -
[52] Innodb分表太多或者表分区太多,会导致内 -
[52] 海量小文件存储 -
[52] 如何保证一个程序在单台服务器上只有唯一实例( -
[51] 全站换域名时利用nginx和javascri -
[50] 用 Jquery 模拟 select -
[49] CloudSMS:免费匿名的云短信 -
[48] jQuery性能优化指南
