私はXMLデータを取得するロスタページを含むプロジェクトWebサイトを持っています。これはすべてのブラウザで問題なく動作していましたが、今はChromeでしか動作しません。 IE11では、importXML関数は、ページに表示されるように機能していないように見えます。Internet Explorer 11でのimportXML
誰か助けてもらえますか?私は検索で何かを見つけることができませんでした。 rosterHandler.js:
IEでコンソールを使用し<tr align="left" valign="top">
<td width="32" height="108" valign="top" bgcolor="#D6D6EB"><!--DWLayoutEmptyCell--> </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)" />
<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> | <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 -->
、私はこのエラーを取得しています:
SCRIPT5007:未定義またはnull参照 ファイルのプロパティを取得できません 'にdocumentElement' 、ライン: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]);
}
}
IMPORTXML:
// 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;
} }
}
コンソール出力はありますか? IEの開発者ツールをチェックし、ログの出力を探します。あなたの投稿を編集してそれを含むようにしてください。 –
ありがとう!投稿編集 – RNelson