未知方法:Internet Explorer 11 中的 selectSingleNode() || Javascript
Unknown method : selectSingleNode() in Internet explorer 11 || Javascipt
专门针对 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;
}
问题可能是由于 Msxml2.DOMDocument 的特定版本 4.0 未(正确)安装在运行脚本的计算机上。
建议使用Msxml2.DOMDocument.3.0
或Msxml2.DOMDocument.6.0
。可以参考this article。我用 Msxml2.DOMDocument.6.0
测试,它在 IE 11 中运行良好:
var newDOM = new ActiveXObject("Msxml2.DOMDocument.6.0");
专门针对 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;
}
问题可能是由于 Msxml2.DOMDocument 的特定版本 4.0 未(正确)安装在运行脚本的计算机上。
建议使用Msxml2.DOMDocument.3.0
或Msxml2.DOMDocument.6.0
。可以参考this article。我用 Msxml2.DOMDocument.6.0
测试,它在 IE 11 中运行良好:
var newDOM = new ActiveXObject("Msxml2.DOMDocument.6.0");