linux浏览器加载js脚本失败,IE及IE6浏览器中判断JS文件加载成功失败的方法

浏览器的文件加载实际上是有非常纠结的兼容问题的。最近看到@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();

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值