ma-s-e-n-11

最近改了一些IE11下一些功能无法实现的项目,发现了有一些IE8下的方法 ,在IE11下被取消或者替代了,如下:

1.JavaScript 运行时错误: 对象不支持“attachEvent”属性或方法;

attachEvent 这个方法在IE11下改成了addEventListener ,所以我这里加了浏览器版本判断 才得以实现了IE8 和IE11下都好用

 if (navigator.appName == "Microsoft Internet Explorer" && (navigator.appVersion.match(/8./i) == "8." || navigator.userAgent.indexOf("MSIE 8.0") > 0 || navigator.appVersion.match(/7./i) == "7.")) {
                 window.attachEvent("onload", OverrideBaseFunction);
      } else {
                 window.addEventListener("onload", OverrideBaseFunction);
     }

2.无法获取未定义或 null 引用的属性“tags”

   因为这里引用了Jquery,但是在下面没有用到

   源代码: var radios=document.body.all.tags("INPUT"); 

                 for(var i=0;i<radios.length;i++)
                    {
           if(radios[i].type=="radio")
                {
          if(radios[i].checked)
              {
            type=radios[i].value;
                          break;
           }
        }
   }

改成:

         type =$(\'input:radio[name*="type"]:checked\').val();    因为引用的是Jquery但是没有使用到,所用用Jquery写一句话

          var inputs=document.getElementById("cblProcess").all.tags("INPUT");
           var isOne=false;
            for(var i=0;i<inputs.length;i++)
            {
            if(inputs[i].type=="checkbox"&&inputs[i].checked)
             {
             isOne=true;
           break;
            }
         }

3.JavaScript 运行时错误: 无法获取未定义或 null 引用的属性“tags”

             源代码: var tds=tr.all.tags("TD");

                         var result="";
                     for(var i=0;i<tds.length;i++)
                          {
                       var tdText=tds[i].innerText;
                             if(i>0)
                         result+=";"+tdText;
                            else
                       result+=tdText;
                     }

 

      

              改成:var result ="";
                      $(tr).each(function(){
                      $(this).children("TD").text(function(i,text){
                         if(i>0 && text !="")
                           {
                         return ";" + text;
                            }
                        });
                   result = $(this).children("TD").text();
                     $(this).children("TD").text(function(i,text){
                    if(i>0 && text !="")
                  {
                return text.substr(1);
                 }
             });
       });

 

 

分类:

技术点:

相关文章:

  • 2022-01-23
  • 2021-12-05
  • 2022-12-23
  • 2021-10-18
  • 2021-07-13
  • 2022-02-10
  • 2022-12-23
  • 2021-06-15
猜你喜欢
  • 2022-12-23
  • 2021-07-17
  • 2022-12-23
  • 2021-12-29
  • 2022-12-23
  • 2022-02-16
  • 2021-07-21
相关资源
相似解决方案