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随机将第一个dom中的图片添加到第二个div中示例
Oct 08 Javascript
JavaScript中prototype为对象添加属性的误区介绍
Oct 15 Javascript
js中关于一个分号的崩溃示例
Nov 11 Javascript
jQuery判断数组是否包含了指定的元素
Mar 10 Javascript
javascript字符串函数汇总
Dec 06 Javascript
原生js实现自由拖拽弹窗代码demo
Jun 29 Javascript
jquery UI Datepicker时间控件冲突问题解决
Dec 16 Javascript
JSON字符串和JSON对象相互转化实例详解
Jan 05 Javascript
JS实现身份证输入框的输入效果
Aug 21 Javascript
axios拦截设置和错误处理方法
Mar 05 Javascript
node puppeteer(headless chrome)实现网站登录
May 09 Javascript
node.js express框架实现文件上传与下载功能实例详解
Oct 15 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 程式大小
2006/12/06 PHP
mysql 搜索之简单应用
2007/04/27 PHP
php 破解防盗链图片函数
2008/12/09 PHP
PHPMYADMIN 简明安装教程 推荐
2010/03/07 PHP
调整优化您的LAMP应用程序的5种简单方法
2011/06/26 PHP
PHP模板引擎Smarty中变量的使用方法示例
2016/04/11 PHP
PHP中Notice错误常见解决方法
2017/04/28 PHP
ExtJS下grid的一些属性说明
2009/12/13 Javascript
jquery移除button的inline onclick事件(已测试及兼容浏览器)
2013/01/25 Javascript
图片动画横条广告带上下滚动的JS代码
2013/10/25 Javascript
js采用map取到id集合组并且实现点击一行选中一行
2013/12/16 Javascript
js 限制input只能输入数字、字母和汉字等等
2013/12/18 Javascript
js中arguments,caller,callee,apply的用法小结
2014/01/28 Javascript
Bootstrap每天必学之折叠
2016/04/12 Javascript
JS Ajax请求如何防止重复提交
2016/06/13 Javascript
jQuery1.9+中删除了live以后的替代方法
2016/06/17 Javascript
javascript深拷贝、浅拷贝和循环引用深入理解
2018/05/27 Javascript
js微信分享接口调用详解
2019/07/23 Javascript
Vue3.x源码调试的实现方法
2019/10/13 Javascript
10个易被忽视但应掌握的Python基本用法
2015/04/01 Python
window下eclipse安装python插件教程
2017/04/24 Python
python 数据的清理行为实例详解
2017/07/12 Python
Python排序搜索基本算法之冒泡排序实例分析
2017/12/09 Python
python多线程下信号处理程序示例
2019/05/31 Python
pytorch中tensor.expand()和tensor.expand_as()函数详解
2019/12/27 Python
Python2和Python3中@abstractmethod使用方法
2020/02/04 Python
pytorch中使用cuda扩展的实现示例
2020/02/12 Python
澳大利亚UGG工厂直销:Australian Ugg Boots
2017/10/14 全球购物
英国第一摩托车和摩托车越野配件商店:GhostBikes
2019/03/10 全球购物
描述Cookie和Session的作用,区别和各自的应用范围,Session工作原理
2015/03/25 面试题
优秀教导主任事迹材料
2014/05/09 职场文书
医疗专业毕业生求职信
2014/08/28 职场文书
大学生自我推荐信范文
2015/03/24 职场文书
小学思想品德教学反思
2016/02/24 职场文书
springboot中rabbitmq实现消息可靠性机制详解
2021/09/25 Java/Android
Python中的tkinter库简单案例详解
2022/01/22 Python