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 相关文章推荐
jquery 关键字“拖曳搜索”之“拖曳”以及 图片“提示自适应放大”效果 的实现
Apr 18 Javascript
Javascript获取HTML静态页面参数传递值示例
Aug 18 Javascript
js兼容的placeholder属性详解
Aug 18 Javascript
js实现简单的星级选择器提交效果适用于评论等
Oct 18 Javascript
js中cookie的添加、取值、删除示例代码
Oct 21 Javascript
JQuery异步提交表单与文件上传功能示例
Jan 12 Javascript
Vue2.0点击切换类名改变样式的方法
Aug 22 Javascript
浅谈vuex中store的命名空间
Nov 08 Javascript
Angular value与ngValue区别详解
Nov 27 Javascript
浅谈JavaScript中等号、双等号、 三等号的区别
Aug 06 Javascript
Element-UI 使用el-row 分栏布局的教程
Oct 26 Javascript
解决Mint-ui 框架Popup和Datetime Picker组件滚动穿透的问题
Nov 04 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学习之整理字符串
2011/04/17 PHP
php实现信用卡校验位算法THE LUHN MOD-10示例
2014/05/07 PHP
PHP+Mysql+Ajax+JS实现省市区三级联动
2014/05/23 PHP
PHP中的Session对象如何使用
2015/09/25 PHP
PHP中读取文件的几个方法总结(推荐)
2016/06/03 PHP
PHP基于socket实现的简单客户端和服务端通讯功能示例
2017/07/10 PHP
分享8个Laravel模型时间戳使用技巧小结
2020/02/12 PHP
RR vs IO BO3 第二场2.13
2021/03/10 DOTA
JS分割字符串并放入数组的函数
2011/07/04 Javascript
javascript时区函数介绍
2012/09/14 Javascript
一个仿糯米弹框效果demo
2014/07/22 Javascript
浅谈javascript中this在事件中的应用
2015/02/15 Javascript
全面了解javascript三元运算符
2016/06/27 Javascript
Bootstrap3 内联单选和多选框
2016/12/29 Javascript
基于Vue、Vuex、Vue-router实现的购物商城(原生切换动画)效果
2018/01/09 Javascript
解决Vue打包后访问图片/图标不显示的问题
2019/07/25 Javascript
JS实现移动端双指缩放和旋转方法
2019/12/13 Javascript
简单了解Vue computed属性及watch区别
2020/07/10 Javascript
[05:56]第十六期——新进3大C之小兔基
2014/06/24 DOTA
python使用PIL缩放网络图片并保存的方法
2015/04/24 Python
浅谈Python爬取网页的编码处理
2016/11/04 Python
python logging日志模块以及多进程日志详解
2018/04/18 Python
Python 实现域名解析为ip的方法
2019/02/14 Python
Win10系统下安装labelme及json文件批量转化方法
2019/07/30 Python
pygame实现打字游戏
2021/02/19 Python
基于keras输出中间层结果的2种实现方式
2020/01/24 Python
Pyecharts地图显示不完成问题解决方案
2020/05/11 Python
Django数据库迁移常见使用方法
2020/11/12 Python
python 实现图片批量压缩的示例
2020/12/18 Python
美国宠物美容和宠物用品购物网站:Cherrybrook
2018/12/07 全球购物
董事长秘书工作职责
2014/06/10 职场文书
2016特色励志班级口号
2015/12/24 职场文书
青年干部培训班学习心得体会
2016/01/06 职场文书
2016年八一建军节活动总结
2016/04/05 职场文书
vue引入Excel表格插件的方法
2021/04/28 Vue.js
Mysql 如何实现多张无关联表查询数据并分页
2021/06/05 MySQL