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遍历td tr等html元素
Dec 13 Javascript
类似php的js数组的in_array函数自定义方法
Dec 27 Javascript
Javascript验证Visa和MasterCard信用卡号的方法
Jul 27 Javascript
js面向对象之常见创建对象的几种方式(工厂模式、构造函数模式、原型模式)
Nov 09 Javascript
一个字符串中出现次数最多的字符 统计这个次数【实现代码】
Apr 29 Javascript
AngularJS ng-template寄宿方式用法分析
Nov 07 Javascript
vue 2.0封装model组件的方法
Aug 03 Javascript
从源码看angular/material2 中 dialog模块的实现方法
Oct 18 Javascript
原生js实现抽奖小游戏
Jun 27 Javascript
Node.js 实现远程桌面监控的方法步骤
Jul 02 Javascript
layui的select联动实现代码
Sep 28 Javascript
小程序中设置缓存过期的实现方法
Jan 14 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来自动调用不同服务器上的flash
2006/10/09 PHP
PHP高级对象构建 多个构造函数的使用
2012/02/05 PHP
THINKPHP3.2使用soap连接webservice的解决方法
2017/12/13 PHP
javascript 写的一个简单的timer
2009/07/30 Javascript
JavaScript 开发规范要求(图文并茂)
2010/06/11 Javascript
jquery 操作日期、星期、元素的追加的实现代码
2012/02/07 Javascript
js简易namespace管理器 实例代码
2013/06/21 Javascript
JS下拉缓冲菜单示例代码
2013/08/30 Javascript
Angular用来控制元素的展示与否的原生指令介绍
2015/01/07 Javascript
jQuery中closest和parents的区别分析
2015/05/07 Javascript
利用JS生成博文目录及CSS定制博客
2016/02/10 Javascript
javascript实现瀑布流动态加载图片原理
2016/08/12 Javascript
bootstrap Validator 模态框、jsp、表单验证 Ajax提交功能
2017/02/17 Javascript
详谈Angular路由与Nodejs路由的区别
2017/03/05 NodeJs
vue父子组件的数据传递示例
2017/03/07 Javascript
Angular ElementRef简介及其使用
2018/10/01 Javascript
JS集合set类的实现与使用方法示例
2019/02/01 Javascript
七行JSON代码把你的网站变成移动应用过程详解
2019/07/09 Javascript
vue中实现回车键登录功能
2020/02/19 Javascript
vue实现轮播图帧率播放
2021/01/26 Vue.js
[48:29]2018DOTA2亚洲邀请赛3月30日 小组赛A组 LGD VS KG
2018/03/31 DOTA
[37:37]DAC2018 4.4 淘汰赛 Optic vs Mineski 第二场
2018/04/05 DOTA
浅谈Python基础之I/O模型
2017/05/11 Python
python爬取拉勾网职位数据的方法
2018/01/24 Python
python实现简单淘宝秒杀功能
2018/05/03 Python
python 利用turtle模块画出没有角的方格
2019/11/23 Python
面包店的创业计划书范文
2014/01/16 职场文书
元旦活动感言
2014/03/08 职场文书
《灰椋鸟》教学反思
2014/04/27 职场文书
普通党员自我剖析材料
2014/10/07 职场文书
人大代表选举标语
2014/10/07 职场文书
初中差生评语
2014/12/29 职场文书
大学生党员自我评价
2015/03/04 职场文书
让子弹飞观后感
2015/06/11 职场文书
爱的教育观后感
2015/06/17 职场文书
《蟋蟀的住宅》教学反思
2016/02/17 职场文书