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

2019-12-18,,,,

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

您可能感兴趣的文章:

  • 用js判断用户浏览器是否是XP SP2的IE6
  • 用js判断浏览器是否是IE的比较好的办法
  • js 全世界最短的IE浏览器判断代码
  • js ie非ie浏览器的几种判断方法小结
  • javascript判断ie浏览器6/7版本加载不同样式表的实现代码
  • 利用js判断浏览器类型(是否为IE,Firefox,Opera浏览器)
  • js判断IE浏览器版本过低示例代码
  • ExtJS判断IE浏览器类型的方法
  • JavaScript中一个奇葩的IE浏览器判断方法
  • js代码判断浏览器种类IE、FF、Opera、Safari、chrome及版本
  • js判断当前浏览器类型,判断IE浏览器方法
  • js判断浏览器类型为ie6时不执行
  • 原生js仿jq判断当前浏览器是否为ie,精确到ie6~8
  • JS如何判断是否为ie浏览器的方法(包括IE10、IE11在内)

《IE及IE6浏览器中判断JS文件加载成功失败的方法.doc》

下载本文的Word格式文档,以方便收藏与打印。