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导出格式化的excel 实例方法
Jul 17 Javascript
js获取及修改网页背景色和字体色的方法
Dec 29 Javascript
使用RequireJS库加载JavaScript模块的实例教程
Jun 06 Javascript
JS实现数字格式千分位相互转换方法
Aug 01 Javascript
Bootstrap中表单控件状态(验证状态)
Aug 04 Javascript
微信小程序 video详解及简单实例
Jan 16 Javascript
Javascript中 toFixed四舍六入方法
Aug 21 Javascript
快速解决vue-cli不能初始化webpack模板的问题
Mar 20 Javascript
详解.vue文件解析的实现
Jun 11 Javascript
layui 实现表单和文件上传一起传到后台的例子
Sep 16 Javascript
微信小程序定义和调用全局变量globalData的实现
Nov 01 Javascript
js canvas实现星空连线背景特效
Nov 01 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 checkbox 取值详细说明
2010/08/19 PHP
MySQL时间字段究竟使用INT还是DateTime的说明
2012/02/27 PHP
php生成图片验证码的实例讲解
2015/08/03 PHP
PHP开发中AJAX技术的简单应用
2015/12/11 PHP
php+ajax实现无刷新文件上传功能(ajaxuploadfile)
2018/02/11 PHP
PHP getDocNamespaces()函数讲解
2019/02/03 PHP
PHP htmlspecialchars()函数用法与实例讲解
2019/03/08 PHP
CI框架简单分页类用法示例
2020/06/06 PHP
Javascript实现的分页函数
2006/12/22 Javascript
改写一个简单的菜单 弹性大小
2010/12/02 Javascript
目前流行的JavaScript库的介绍及对比
2013/09/29 Javascript
node.js开机自启动脚本文件
2014/12/24 Javascript
jquery果冻抖动效果实现方法
2015/01/15 Javascript
浅谈angular2的http请求返回结果的subcribe注意事项
2017/03/01 Javascript
信息滚动效果的实例讲解
2017/09/18 Javascript
Vue源码学习之初始化模块init.js解析
2017/11/02 Javascript
在vscode中统一vue编码风格的方法
2018/02/22 Javascript
Vue 应用中结合vux使用微信 jssdk的方法
2018/08/28 Javascript
浅析Vue.js 中的条件渲染指令
2018/11/19 Javascript
JS立即执行的匿名函数用法分析
2019/11/04 Javascript
nodejs dgram模块广播+组播的实现示例
2019/11/04 NodeJs
Python中除法使用的注意事项
2014/08/21 Python
python实现bucket排序算法实例分析
2015/05/04 Python
基于python爬虫数据处理(详解)
2017/06/10 Python
初学python的操作难点总结(新手必看篇)
2017/08/03 Python
windows7 32、64位下python爬虫框架scrapy环境的搭建方法
2018/11/29 Python
使用python的pandas为你的股票绘制趋势图
2019/06/26 Python
在Python中构建增广矩阵的实现方法
2019/07/01 Python
Python类中self参数用法详解
2020/02/13 Python
爬虫代理的cookie如何生成运行
2020/09/22 Python
Python代码覆盖率统计工具coverage.py用法详解
2020/11/25 Python
次世代生活态度:Hypebeast
2018/07/05 全球购物
英国最大的香水商店:The Fragrance Shop
2018/07/06 全球购物
世界上最大的铁人三项商店:Tri UK
2020/11/04 全球购物
瞿秋白纪念馆观后感
2015/06/10 职场文书
详解JS WebSocket断开原因和心跳机制
2021/05/07 Javascript