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检测Firefox浏览器是否启用了Firebug的代码
Dec 28 Javascript
JS去除右边逗号的简单方法
Jul 03 Javascript
js替换字符串的所有示例代码
Jul 23 Javascript
JS小游戏之宇宙战机源码详解
Sep 25 Javascript
简单谈谈javascript Date类型
Sep 06 Javascript
基于JavaScript实现文字超出部分隐藏
Feb 29 Javascript
设计模式中的facade外观模式在JavaScript开发中的运用
May 18 Javascript
Angularjs添加排序查询功能的实例代码
Oct 24 Javascript
对angular2中的ngfor和ngif指令嵌套实例讲解
Sep 12 Javascript
vue中input的v-model清空操作
Sep 06 Javascript
jQuery+ThinkPHP实现图片上传
Jul 23 jQuery
vue3使用vue-count-to组件的实现
Dec 25 Vue.js
使用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持久连接mysql_pconnect()函数使用介绍
2012/02/05 PHP
关于UEditor编辑器远程图片上传失败的解决办法
2012/08/31 PHP
修改php.ini以达到屏蔽错误信息并记录日志
2013/06/16 PHP
php实现监控varnish缓存服务器的状态
2014/12/30 PHP
浅谈PHP发送HTTP请求的几种方式
2017/07/25 PHP
鼠标右击事件代码(asp.net后台)
2011/01/27 Javascript
js 窗口抖动示例
2013/09/04 Javascript
使用GruntJS构建Web程序之构建篇
2014/06/04 Javascript
JavaScript html5 canvas绘制时钟效果
2016/03/01 Javascript
node.js 动态执行脚本
2016/06/02 Javascript
JS使用eval()动态创建变量的方法
2016/06/03 Javascript
浅谈javascript:两种注释,声明变量,定义函数
2016/09/29 Javascript
JS实现AES加密并与PHP互通的方法分析
2017/04/19 Javascript
javascript实现考勤日历功能
2018/11/29 Javascript
vuex实现的简单购物车功能示例
2019/02/13 Javascript
node.js express框架实现文件上传与下载功能实例详解
2019/10/15 Javascript
记录一次websocket封装的过程
2020/11/23 Javascript
Python实现的tab文件操作类分享
2014/11/20 Python
简单解析Django框架中的表单验证
2015/07/17 Python
python函数形参用法实例分析
2015/08/04 Python
Python增量循环删除MySQL表数据的方法
2016/09/23 Python
简单谈谈Python中的元祖(Tuple)和字典(Dict)
2017/04/21 Python
python爬虫之xpath的基本使用详解
2018/04/18 Python
Python3的介绍、安装和命令行的认识(推荐)
2018/10/20 Python
Python实现DDos攻击实例详解
2019/02/02 Python
Python进阶之@property动态属性的实现
2019/04/01 Python
Python搭建代理IP池实现检测IP的方法
2019/10/27 Python
css3和jquery实现的可折叠导航菜单适合放在手机网页的导航菜单
2014/09/02 HTML / CSS
深入理解css属性的选择对动画性能的影响
2016/04/20 HTML / CSS
小学生获奖感言范文
2014/02/02 职场文书
老公婚前保证书
2015/02/28 职场文书
致地震灾区的慰问信
2015/03/23 职场文书
2015年库房管理工作总结
2015/10/14 职场文书
Spring Boot 启动、停止、重启、状态脚本
2021/06/26 Java/Android
详解Vue3使用axios的配置教程
2022/04/29 Vue.js
mysql 排序失效
2022/05/20 MySQL