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 相关文章推荐
通过一段代码简单说js中的this的使用
Jul 23 Javascript
jQuery实现统计复选框选中数量
Nov 24 Javascript
两种简单的跨域方法(jsonp、php)
Jan 02 Javascript
JS实现touch 点击滑动轮播实例代码
Jan 19 Javascript
Bootstrap下拉菜单样式
Feb 07 Javascript
微信小程序 开发经验整理
Feb 15 Javascript
js canvas实现放大镜查看图片功能
Jun 08 Javascript
Vue 去除路径中的#号
Apr 19 Javascript
vue中的provide/inject的学习使用
May 09 Javascript
JS中‘hello’与new String(‘hello’)引出的问题详解
Aug 14 Javascript
js实现多张图片每隔一秒切换一张图片
Jul 29 Javascript
JS实现多功能计算器
Oct 28 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
几款免费开源的不用数据库的php的cms
2010/12/19 PHP
destoon各类调用汇总
2014/06/20 PHP
PHP获取音频文件的相关信息
2015/06/22 PHP
学习php设计模式 php实现模板方法模式
2015/12/08 PHP
php简单实现sql防注入的方法
2016/04/22 PHP
PHP表单验证内容是否为空的实现代码
2016/11/14 PHP
PHP+ajax实现获取新闻数据简单示例
2018/05/08 PHP
javascript对select标签的控制(option选项/select)
2013/01/31 Javascript
通过JavaScript使Div居中并随网页大小改变而改变
2013/06/24 Javascript
解析JavaScript中的不可见数据类型
2013/12/02 Javascript
字段太多jquey快速清空表单内容方法
2014/08/21 Javascript
jQuery实现的进度条效果
2015/07/15 Javascript
JS实现的鼠标跟随代码(卡通手型点击效果)
2015/10/26 Javascript
详解AngularJS中的filter过滤器用法
2016/01/04 Javascript
基于JS模仿windows文件按名称排序效果
2016/06/29 Javascript
AngularJS操作键值对象类似java的hashmap(填坑小结)
2016/11/12 Javascript
es6系列教程_ Map详解以及常用api介绍
2017/09/25 Javascript
简单介绍react redux的中间件的使用
2018/04/06 Javascript
JS前端知识点offset,scroll,client,冒泡,事件对象的应用整理总结
2019/06/27 Javascript
Nodejs 微信小程序消息推送的实现
2021/01/20 NodeJs
[05:08]DOTA2-DPC中国联赛3月6日Recap集锦
2021/03/11 DOTA
python关闭windows进程的方法
2015/04/18 Python
Pandas之drop_duplicates:去除重复项方法
2018/04/18 Python
django js实现部分页面刷新的示例代码
2018/05/28 Python
python处理自动化任务之同时批量修改word里面的内容的方法
2019/08/23 Python
浅谈python输出列表元素的所有排列形式
2020/02/26 Python
Python 实现国产SM3加密算法的示例代码
2020/09/21 Python
纯CSS3制作的简洁蓝白风格的登录模板(非IE效果更好)
2013/08/11 HTML / CSS
采购员的工作职责
2013/12/26 职场文书
建筑文秘专业个人求职信范文
2013/12/28 职场文书
学校出纳员岗位职责
2014/03/18 职场文书
党性分析材料格式
2014/12/19 职场文书
员工开除通知书
2015/04/25 职场文书
java设计模式--建造者模式详解
2021/07/21 Java/Android
疑《守望先锋2》A测截图泄露 或将推出新模式、新界面
2022/04/03 其他游戏
新的CSS 伪类函数 :is() 和 :where()示例详解
2022/08/05 HTML / CSS