【问题标题】:Unknown method : selectSingleNode() in Internet explorer 11 || Javascipt未知方法:Internet Explorer 11 中的 selectSingleNode() || Javascript
【发布时间】:2021-01-06 06:20:24
【问题描述】:

特别是在 Internet Explorer v11 上引发运行时错误“自动化服务器无法创建对象”,因此无法获得所需的功能。我在这里调试时附上了屏幕截图https://ibb.co/XWwqsRw。下面附上代码。

代码在 IE v8 中运行良好。

如何解决此问题或是否有任何替代方法。

提前致谢!

 function bulk_check()
{ 
  var emptyRows = 0;
  len = document.getElementById("TBL_QryRslts").tBodies[0].rows.length;
  var rows = document.getElementById("TBL_QryRslts").tBodies[0].rows;
  msob_dcnlist = "" ;
  msob_fchk= -1 ;
  msob_tchk = 0 ; 
   len = document.getElementById("TBL_QryRslts").tBodies[0].rows.length;      
    var newDOM = new ActiveXObject("Msxml2.DOMDocument.4.0"); //Giving error here
    newDOM.async = false;
    newDOM.resolveExternals = false;
    var tempDOM = new ActiveXObject("Msxml2.DOMDocument.4.0");

 tempDOM.async = false;
    tempDOM.resolveExternals = false;
    for(i = 0;i < len; i++)
      {
        if(document.getElementById("TBL_QryRslts").tBodies[0].rows[i].cells[0].getElementsByTagName("INPUT")[0]){
          if(document.getElementById("TBL_QryRslts").tBodies[0].rows[i].cells[0].getElementsByTagName("INPUT")[0].checked ){
            msob_bulk[i]='Y'; 
            if (msob_fchk == -1) {
            msob_fchk = i;      }
            msob_tchk = msob_tchk +1;
            msob_dcnlist = msob_dcnlist + (document.getElementById("TBL_QryRslts").tBodies[0].rows[i].cells[1].innerText  + ':') ;
            }
         
        }
          else if (msob_tchk == 0 ) {
                  alert ( 'Please Select a Record');
                  return false ; } 
        else
          break;
      }
       msob_dcnlist= msob_dcnlist + 'EOPL';
  msob_fchk = msob_fchk;
  return true;
}

【问题讨论】:

  • 我们似乎无权访问您在谷歌驱动器中加载的调试信息。此外,我们需要a minimal code sample 可以重现问题,以便我们进行测试并了解如何提供帮助。只有描述和错误,我们无法定位问题。
  • 代码在第 9 行失败,给出错误“自动化服务器无法创建对象”。我附上了代码块并在出错的地方添加了注释。
  • 我已经更新了调试器的截图。

标签: javascript dom xml-parsing internet-explorer-11


【解决方案1】:

该问题可能是由于您的脚本运行所在的计算机上未(正确)安装特定版本的 Msxml2.DOMDocument 4.0 引起的。

推荐使用Msxml2.DOMDocument.3.0Msxml2.DOMDocument.6.0。可以参考this article。我用Msxml2.DOMDocument.6.0 进行测试,它可以在 IE 11 中运行良好:

var newDOM = new ActiveXObject("Msxml2.DOMDocument.6.0");

【讨论】:

    猜你喜欢
    • 2015-06-14
    • 2018-08-16
    • 1970-01-01
    • 2018-12-13
    • 2018-06-15
    • 1970-01-01
    • 1970-01-01
    • 2014-09-10
    • 1970-01-01
    相关资源
    最近更新 更多