Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在InternetExplorer11中导入XML_Javascript_Html_Xml_Import - Fatal编程技术网

Javascript 在InternetExplorer11中导入XML

Javascript 在InternetExplorer11中导入XML,javascript,html,xml,import,Javascript,Html,Xml,Import,我有一个项目网站,其中包含一个可以提取XML数据的花名册页面。这过去在所有浏览器中都能正常工作,现在只在Chrome中工作。在IE11中,importXML函数似乎没有按照页面的外观正常工作,只是其中根本没有花名册数据 有人能帮我吗?我在搜索中找不到任何东西 <tr align="left" valign="top"> <td width="32" height="108" valign="top" bgcolor="#D6D6EB"><!--DWLay

我有一个项目网站,其中包含一个可以提取XML数据的花名册页面。这过去在所有浏览器中都能正常工作,现在只在Chrome中工作。在IE11中,importXML函数似乎没有按照页面的外观正常工作,只是其中根本没有花名册数据

有人能帮我吗?我在搜索中找不到任何东西

  <tr align="left" valign="top">
    <td width="32" height="108" valign="top" bgcolor="#D6D6EB"><!--DWLayoutEmptyCell-->&nbsp;</td>
    <!-- InstanceBeginEditable name="pagetext" -->
    <td colspan="2" valign="top" bgcolor="#D6D6EB" id="top">
    <div id="content">
    <div id="rosterTabBar">
        <ul id="tabs">
            <li id="full"><a href="javascript:void(createRoster())">full roster</a></li>
            <!--<li id="byprot"><a href="javascript:void(rosterByProtocol())">by protocol</a></li>-->
            <li id="bysite"><a href="javascript:void(rosterBySite())">by institution</a></li>
        </ul>
    </div>
    <h2>Roster</h2>
        <form id="rosterForm" name="rosterForm" action="" onsubmit="filteredRoster(document.forms.rosterForm.field.options[document.forms.rosterForm.field.selectedIndex].value,document.forms.rosterForm.query.value);return false;">
            <input id="query" name="lname" type="text" size="16" maxlength="128" />
            <select id="field" name="field">
                <option value="all">All Fields</option>
                <option value="name">Name</option>
                <option value="role">Study Role</option>
                <option value="company">Institution</option>
                <option value="dept">Department</option>
                <option value="address">Address</option>
                <option value="number">Phone/Fax</option>
                <option value="email">Email</option>
            </select>
            <input type="button" value="Search" onclick="filteredRoster(document.forms.rosterForm.field.options[document.forms.rosterForm.field.selectedIndex].value,document.forms.rosterForm.query.value)" />
            &nbsp;&nbsp;&nbsp;&nbsp;<a href="javascript:void(this.print())"><img style="border:none;" src="../../images/printer.gif" alt="Print" /> Print</a>
        </form>
        <a href="javascript:void(expandRoster())">expand all</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a href="javascript:void(collapseRoster())">collapse all</a><br />
        <br />
        <div id="listRoot">
        </div>
        <div id="rosterRoot">
        </div>


        <script type="text/javascript" language="javascript">
        <!--
            importXML('roster.xml','storeRoster');
        //-->
        </script>
    </div>
    </td>
    <!-- InstanceEndEditable -->

名册 所有领域 名称 学习角色 机构 部门 地址 电话/传真 电子邮件 |

使用IE中的控制台,我发现以下错误:

SCRIPT5007:无法获取未定义或空引用的属性“documentElement” 文件:rosterHandler.js,第39行,第2列

这是rosterHandler.js中的部分:

function storeRoster(xmlDoc) {
                if( xmlDoc.documentElement && xmlDoc.documentElement.tagName && xmlDoc.documentElement.tagName.toUpperCase() == 'HTML' ) {
                                setTimeout('//alert(\'For no apparent reason, your browser has turned the clean XML into HTML based garbage.\\nScript aborted.\');',50); return; }

                rosterStore = xmlDoc;
                var x = xmlDoc.getElementsByTagName('member');

                for(var i = 0;i< x.length;i++) {
                                if(x[i].getElementsByTagName('firstname')[0].firstChild || x[i].getElementsByTagName('lastname')[0].firstChild) {
                                                rosterEntries[i] = new RosterEntry(x[i]);
                                }
                }
函数存储花名册(xmlDoc){
if(xmlDoc.documentElement&&xmlDoc.documentElement.tagName&&xmlDoc.documentElement.tagName.toUpperCase()='HTML'){
setTimeout('//alert(\'毫无明显原因,您的浏览器已将干净的XML变成基于HTML的垃圾。\\n脚本已中止。\');',50);return;}
rosterStore=xmlDoc;
var x=xmlDoc.getElementsByTagName(“成员”);
对于(变量i=0;i
导入XML:

// JavaScript Document
var MWJ_ldD = [];
function importXML( oURL, oFunct, oNoRand, oDelay ) {
                //alert('making xml');
                //note: in XML importing event handlers, 'this' refers to window
                if( !oNoRand ) { oURL += ( ( oURL.indexOf('?') + 1 ) ? '&' : '?' ) + ( new Date() ).getTime(); } //prevent cache
                if( window.XMLHttpRequest ) {
                                //alternate XMLHTTP request - Gecko, Safari 1.2+ and Opera 7.6+
                                MWJ_ldD[MWJ_ldD.length] = new XMLHttpRequest();
                                MWJ_ldD[MWJ_ldD.length-1].onreadystatechange = new Function( 'if( MWJ_ldD['+(MWJ_ldD.length-1)+'].readyState == 4 && MWJ_ldD['+(MWJ_ldD.length-1)+'].status < 300 ) { '+oFunct+'(MWJ_ldD['+(MWJ_ldD.length-1)+'].responseXML); }' );
                                MWJ_ldD[MWJ_ldD.length-1].open("GET", oURL, true);
                                MWJ_ldD[MWJ_ldD.length-1].send(null);
                                return true;
                }
                if( !navigator.__ice_version && window.ActiveXObject ) {
                                //the Microsoft way - IE 5+/Win (ICE produces errors and fails to use try-catch correctly)
                                try { //IE Mac has the property window.ActiveXObject but produces errors if you try and use it
                                                try { var tho = new ActiveXObject( 'Microsoft.XMLDOM' ); //newer
                                                } catch(e) { var tho = new ActiveXObject( 'Msxml2.XMLHTTP' ); } //older
                                                MWJ_ldD[MWJ_ldD.length] = tho;
                                                MWJ_ldD[MWJ_ldD.length-1].onreadystatechange = new Function( 'if( MWJ_ldD['+(MWJ_ldD.length-1)+'].readyState == 4 ) { '+oFunct+'(MWJ_ldD['+(MWJ_ldD.length-1)+']); }' );
                                                MWJ_ldD[MWJ_ldD.length-1].load(oURL);
                                                return true;
                                } catch(e) {}
                }
                if( document.createElement && document.childNodes ) {
                                //load the XML in an iframe
                                var ifr = document.createElement('DIV');
                                ifr.style.visibility = 'hidden'; ifr.style.position = 'absolute'; ifr.style.top = '0px'; ifr.style.left = '0px';
                                //onload only fires in Opera so I use a timer for all
                                if( !window.MWJ_XML_timer ) { window.MWJ_XML_timer = window.setInterval('MWJ_checkXMLLoad();',100); }
                                ifr.innerHTML = '<iframe src="'+oURL+'" name="MWJ_XML_loader_'+MWJ_ldD.length+'" height="0" width="0"><\/iframe>';
                                MWJ_ldD[MWJ_ldD.length] = oFunct+'MWJ_SPLIT'+(oDelay?oDelay:1)+'';
                                document.body.appendChild(ifr);
                                return true;
                }
                return false;
}
function MWJ_checkXMLLoad() {
                //check if each imported file is available (huge files may not have loaded completely - nothing I can do - use the delay to help)
                for( var x = 0; x < MWJ_ldD.length; x++ ) { if( MWJ_ldD[x] && window.frames['MWJ_XML_loader_'+x] ) {
                                setTimeout( MWJ_ldD[x].split('MWJ_SPLIT')[0] + '(window.frames.MWJ_XML_loader_'+x+'.window.document);', parseInt(MWJ_ldD[x].split('MWJ_SPLIT')[1]) );
                                MWJ_ldD[x] = false;
                } }
}
//JavaScript文档
var MWJ_ldD=[];
函数importXML(oURL、of unct、oNoRand、oDelay){
//警报(“生成xml”);
//注意:在XML导入事件处理程序中,“this”指的是窗口
如果(!oNoRand){oURL+=((oURL.indexOf('?')+1)'&':'?')+(new Date()).getTime();}//防止缓存
if(window.XMLHttpRequest){
//备选XMLHTTP请求-Gecko、Safari 1.2+和Opera 7.6+
MWJ_ldD[MWJ_ldD.length]=新的XMLHttpRequest();
MWJ_ldD[MWJ_ldD.length-1].onreadystatechange=新函数('if(MWJ_ldD['+(MWJ_ldD.length-1)+'].readyState==4&&MWJ_ldD['+(MWJ_ldD.length-1)+'].status<300{'+of unct+'(MWJ_ldD['+(MWJ_ldD.length-1)+'.responseXML)});
MWJ_ldD[MWJ_ldD.length-1]。打开(“GET”,oURL,true);
MWJ_ldD[MWJ_ldD.length-1]。发送(空);
返回true;
}
if(!navigator.\u ice\u version&&window.ActiveXObject){
//Microsoft way-IE 5+/Win(ICE产生错误,无法正确使用try-catch)
try{//IE Mac具有属性window.ActiveXObject,但如果尝试使用它,则会产生错误
请尝试{var tho=newActiveXObject('Microsoft.XMLDOM');//更新
}catch(e){var tho=newActiveXObject('Msxml2.XMLHTTP');}//older
MWJ_ldD[MWJ_ldD.长度]=tho;
MWJ_ldD[MWJ_ldD.length-1].onreadystatechange=新函数('if(MWJ_ldD['+(MWJ_ldD.length-1)+'].readyState==4){'+oFunct+'(MWJ_ldD['+(MWJ_ldD.length-1)+'];);
MWJ_ldD[MWJ_ldD.length-1]。荷载(oURL);
返回true;
}捕获(e){}
}
if(document.createElement&&document.childNodes){
//在iframe中加载XML
var ifr=document.createElement('DIV');
ifr.style.visibility='hidden';ifr.style.position='absolute';ifr.style.top='0px';ifr.style.left='0px';
//onload只在Opera中点火,所以我使用计时器来进行所有操作
如果(!window.MWJ_XML_timer){window.MWJ_XML_timer=window.setInterval('MWJ_checkxmload()',100);}
ifr.innerHTML='';
MWJ_ldD[MWJ_ldD.length]=不可分割的+'MWJ_SPLIT'+(oDelay?oDelay:1)+'';
文件.正文.附件(ifr);
返回true;
}
返回false;
}
函数MWJ_checkXMLLoad(){
//检查每个导入的文件是否可用(大文件可能没有完全加载-我无能为力-使用延迟来帮助)
对于(var x=0;x
似乎
xmlDoc
是未定义的。
importXML
函数似乎没有将参数传递给
storefloster
函数。
importXML
函数是什么样子的?我将尝试进一步帮助您


另外,
floster.xml
在哪里?

是否有任何控制台输出?请检查中的开发人员工具