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插件jQuery-JSONP开发ajax调用使用注意事项
Nov 22 Javascript
jquery实现弹出层效果实例
May 19 Javascript
Bootstrap学习笔记之css样式设计(2)
Jun 07 Javascript
javascript运算符语法全面概述
Jul 14 Javascript
基于jquery实现多选下拉列表
Aug 02 jQuery
vue Element-ui input 远程搜索与修改建议显示模版的示例代码
Oct 19 Javascript
Javascript实现一朵从含苞到绽放的玫瑰
Mar 30 Javascript
微信小程序仿今日头条导航栏滚动解析
Aug 20 Javascript
解决vue+ element ui 表单验证有值但验证失败问题
Jan 16 Javascript
JavaScript中ES6规范中let和const的用法和区别
Aug 06 Javascript
带你彻底理解JavaScript中的原型对象
Apr 14 Javascript
详解Vue的列表渲染
Nov 20 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
使用Limit参数优化MySQL查询的方法
2008/11/12 PHP
PHP 压缩文件夹的类代码
2009/11/05 PHP
探讨:parse url解析URL,返回其组成部分
2013/06/14 PHP
深入解析PHP中的(伪)多线程与多进程
2013/07/01 PHP
php中使用getimagesize获取图片、flash等文件的尺寸信息实例
2014/04/29 PHP
php session 写入数据库
2016/02/13 PHP
php将html转为图片的实现方法
2017/05/19 PHP
Yii 2.0中场景的使用教程
2017/06/02 PHP
JS 页面内容搜索,类似于 Ctrl+F功能的实现代码
2007/08/13 Javascript
javascript 原型模式实现OOP的再研究
2009/04/09 Javascript
JQuery 插件模板 制作jquery插件的朋友可以参考下
2010/03/17 Javascript
使用AngularJS 应用访问 Android 手机的图片库
2015/03/24 Javascript
js获取鼠标点击的对象,点击另一个按钮删除该对象的实现代码
2016/05/13 Javascript
ExtJS 4.2 Grid组件单元格合并的方法
2016/10/12 Javascript
Vue 进阶教程之v-model详解
2017/05/06 Javascript
Vue框架之goods组件开发详解
2018/01/25 Javascript
jQuery实现导航样式布局操作示例【可自定义样式布局】
2018/07/24 jQuery
nodeJS进程管理器pm2的使用
2019/01/09 NodeJs
一篇文章,教你学会Vue CLI 插件开发
2019/04/17 Javascript
浅谈Vue项目骨架屏注入实践
2019/08/05 Javascript
微信小程序修改数组长度的问题的解决
2019/12/17 Javascript
[47:55]Ti4第二日主赛事败者组 NaVi vs EG 1
2014/07/20 DOTA
python基础入门详解(文件输入/输出 内建类型 字典操作使用方法)
2013/12/08 Python
Python 正则表达式的高级用法
2016/12/04 Python
Python实现自定义函数的5种常见形式分析
2018/06/16 Python
简单了解Python生成器是什么
2019/07/02 Python
python中open函数的基本用法示例
2019/09/07 Python
Django ORM判断查询结果是否为空,判断django中的orm为空实例
2020/07/09 Python
为中国消费者甄选天下优品:网易严选
2016/08/11 全球购物
运输企业安全生产责任书
2014/07/28 职场文书
幼儿园安全工作总结2015
2015/04/20 职场文书
2015年妇女工作总结
2015/05/14 职场文书
赡养老人协议书范本
2015/08/06 职场文书
员工聘用合同范本
2015/09/21 职场文书
pytorch中的model.eval()和BN层的使用
2021/05/22 Python
Python实现信息管理系统
2022/06/05 Python