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 的方法重载效果
Aug 07 Javascript
高效的获取当前元素是父元素的第几个子元素
Oct 15 Javascript
20个实用的JavaScript技巧分享
Nov 28 Javascript
编写自己的jQuery提示框(Tip)插件
Feb 05 Javascript
JavaScript事件类型中UI事件详解
Jan 14 Javascript
Easyui 之 Treegrid 笔记
Apr 29 Javascript
微信小程序 底部导航栏目开发资料
Dec 05 Javascript
Vue-router结合transition实现app前进后退动画切换效果的实例
Oct 11 Javascript
axios 封装上传文件的请求方法
Sep 26 Javascript
微信小程序实现文字无限轮播效果
Dec 28 Javascript
JQuery样式操作、click事件以及索引值-选项卡应用示例
May 14 jQuery
JS计算斐波拉切代码实例
Sep 12 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
set_exception_handler函数在ThinkPHP中的用法
2014/10/31 PHP
php读取远程gzip压缩网页的方法
2014/12/29 PHP
WordPress开发中的get_post_custom()函数使用解析
2016/01/04 PHP
Linux基于php-fpm模式的lamp搭建phpmyadmin的方法
2018/10/25 PHP
jquery $.ajax相关用法分享
2012/03/16 Javascript
javascript中的__defineGetter__和__defineSetter__介绍
2014/08/15 Javascript
jQuery的观察者模式详解
2014/12/22 Javascript
node.js开机自启动脚本文件
2014/12/24 Javascript
JQUERY实现网页右下角固定位置展开关闭特效的方法
2015/07/27 Javascript
javascript动画之模拟拖拽效果篇
2016/09/26 Javascript
通过js修改input、select默认字体颜色
2017/04/19 Javascript
js判断文件类型大小并给出提示的实现方法
2018/01/03 Javascript
解决在Bootstrap模糊框中使用WebUploader的问题
2018/03/22 Javascript
AngularJS修改model值时,显示内容不变的实例
2018/09/13 Javascript
探索JavaScript中私有成员的相关知识
2019/06/13 Javascript
JS严格模式原理与用法实例分析
2020/04/27 Javascript
vue实现购物车结算功能
2020/06/18 Javascript
JavaScript快速调试的两个技巧
2020/11/04 Javascript
Python使用Socket(Https)Post登录百度的实现代码
2012/05/18 Python
python flask 多对多表查询功能
2017/06/25 Python
python中logging库的使用总结
2017/10/18 Python
python 使用装饰器并记录log的示例代码
2019/07/12 Python
python 动态调用函数实例解析
2019/10/21 Python
基于Python中的yield表达式介绍
2019/11/19 Python
Python 词典(Dict) 加载与保存示例
2019/12/06 Python
jupyternotebook 撤销删除的操作方式
2020/04/17 Python
可视化pytorch 模型中不同BN层的running mean曲线实例
2020/06/24 Python
Python打印不合法的文件名
2020/07/31 Python
Python 调用 ES、Solr、Phoenix的示例代码
2020/11/23 Python
C# .NET面试题
2015/11/28 面试题
美术第二课堂活动总结
2014/07/08 职场文书
高中教师先进事迹材料
2014/08/22 职场文书
2015年清明节扫墓演讲稿
2015/03/18 职场文书
小学生禁毒教育心得体会
2016/01/15 职场文书
创业计划书之家教托管
2019/09/25 职场文书
Python还能这么玩之用Python做个小游戏的外挂
2021/06/04 Python