IE及IE6浏览器中判断JS文件加载成功失败的方法


Posted in Javascript onFebruary 18, 2015

浏览器的文件加载实际上是有非常纠结的兼容问题的。最近看到@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();

     }
Javascript 相关文章推荐
Javascript 面向对象 继承
May 13 Javascript
快速排序 php与javascript的不同之处
Feb 22 Javascript
一个很有趣3D球状标签云兼容IE8
Aug 22 Javascript
jQuery响应鼠标事件并隐藏与显示input默认值
Aug 24 Javascript
JavaScript 模块的循环加载实现方法
Dec 13 Javascript
js获取Html元素的实际宽度高度的方法
May 19 Javascript
详解AngularJs中$resource和restfu服务端数据交互
Sep 21 Javascript
Bootstrap一款超好用的前端框架
Sep 25 Javascript
Javascript将图片的绝对路径转换为base64编码的方法
Jan 11 Javascript
vue数据更新UI不刷新显示的解决办法
Aug 06 Javascript
vue $router和$route的区别详解
Dec 02 Vue.js
WebRTC记录音视频流(web技术分享)
Feb 24 Javascript
使用JavaScript开发IE浏览器本地插件实例
Feb 18 #Javascript
JQuery实现展开关闭层的方法
Feb 17 #Javascript
jQuery实现鼠标滑过Div层背景变颜色的方法
Feb 17 #Javascript
JS点击链接后慢慢展开隐藏着图片的方法
Feb 17 #Javascript
js实现按钮控制图片360度翻转特效的方法
Feb 17 #Javascript
js实现鼠标悬停图片上时滚动文字说明的方法
Feb 17 #Javascript
js鼠标滑过图片震动特效的方法
Feb 17 #Javascript
You might like
ThinkPHP3.2框架自定义配置和加载用法示例
2018/06/14 PHP
Yii2.0框架模型添加/修改/删除数据操作示例
2019/07/18 PHP
js同时按下两个方向键
2007/12/01 Javascript
JavaScript 异步调用框架 (Part 6 - 实例 &amp; 模式)
2009/08/04 Javascript
jquery+json 通用三级联动下拉列表
2010/04/19 Javascript
Grid得到选择行数据的方法总结
2011/01/17 Javascript
给事件响应函数传参数的四种方式小结
2013/12/05 Javascript
javascript分页代码实例分享(js分页)
2013/12/13 Javascript
jquery制作漂亮的弹出层提示消息特效
2014/12/23 Javascript
不想让浏览器运行javascript脚本的方法
2015/11/20 Javascript
Form表单按回车自动提交表单的实现方法
2016/11/18 Javascript
Vue.js -- 过滤器使用总结
2017/02/18 Javascript
vue 请求后台数据的实例代码
2017/06/22 Javascript
vue2.0 实现导航守卫(路由守卫)
2018/05/21 Javascript
webpack@v4升级踩坑(小结)
2018/10/08 Javascript
JavaScript this在函数中的指向及实例详解
2019/10/14 Javascript
Python时区设置方法与pytz查询时区教程
2013/11/27 Python
python文件和目录操作方法大全(含实例)
2014/03/12 Python
python函数装饰器用法实例详解
2015/06/04 Python
Python实现将xml导入至excel
2015/11/20 Python
python读取大文件越来越慢的原因与解决
2019/08/08 Python
python+selenium 鼠标事件操作方法
2019/08/24 Python
python属于解释语言吗
2020/06/11 Python
如何通过python计算圆周率PI
2020/11/11 Python
美国一家运动专业鞋类零售商:Warehouse Shoe Sale(WSS)
2018/03/28 全球购物
什么叫做SQL注入,如何防止
2016/10/04 面试题
中学生期末评语
2014/02/03 职场文书
民族团结先进个人材料
2014/02/05 职场文书
百年校庆节目主持词
2014/03/27 职场文书
国家励志奖学金个人先进事迹材料
2014/05/04 职场文书
小学班主任自我评价
2015/03/11 职场文书
2015年超市收银员工作总结
2015/04/25 职场文书
2016年教师学习廉政准则心得体会
2016/01/20 职场文书
2016年世界人口日宣传活动总结
2016/04/05 职场文书
创业计划书之健康营养产业
2019/10/15 职场文书
Java集成swagger文档组件
2021/06/28 Java/Android