我已經創建了一個XML文件,並且正在嘗試使用我的Web瀏覽器訪問它。 當我使用IE瀏覽器時,腳本工作得很好,一切正常,但是當我嘗試在另一個瀏覽器中打開它時,它不起作用。 經過研究,我瞭解到它來自於我在JavaScript中與Microsoft連接的第一行中實例化的ActiveX內容。
這就是爲什麼我發現了另一個代碼,會自動檢查瀏覽器的性質:用於檢測瀏覽器版本的XML/Javascript
<script type="text/javascript">
if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else { // code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET", "emp.xml", false);
xmlhttp.send();
xmlDoc = xmlhttp.responseXML;
//function loadXML(xmlFile)
//{
//xmlDoc.async="false";
//xmlDoc.onreadystatechange=verify;
//xmlDoc.load(xmlFile);
//xmlObj=xmlDoc.documentElement;
//}
其實,就在函數的最後兩行是足以載入XML文件。前兩行是爲了確保我們稍後可能用來操作XML文件數據的JavaScript函數不對未初始化的對象執行任何函數。因此調用函數* () *。
<?php
//function verify()/
//{
// 0 Object is not initialized
// 1 Loading object is loading data
// 2 Loaded object has loaded data
// 3 Data from object can be worked with
// 4 Object completely initialized
//if (xmlDoc.readyState != 4)
// {
// return false;
//}
//}
?>
loadXML('emp.xml');
alert(xmlDoc.childNodes(0).firstChild.text);
alert(xmlDoc.childNodes(3).childNodes(1).firstChild.text);
我得到JScript運行時錯誤訪問被拒絕...該怎麼辦?
MY NEW CODE:
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","http://www.multimediaprof.com/test/emp.xml",true);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;
alert(xmlDoc.childNodes[1].firstChild.text);
</script>
</head>
</html>
是JQUERY
答案,我該如何實現呢?
我猜你從不同的環節採取的事情,如果我沒有記錯。請閱讀以下鏈接:
linguini
2012-03-14 08:33:40
你給我的第二個鏈接是我開始使用的第二個鏈接,它不適用於除IE以外的任何瀏覽器,這就是爲什麼我試圖將兩個不同的鏈接放在一起嘗試使它在任何瀏覽器上都能正常工作,即使我嘗試與包含測試功能的鏈接,JS運行時錯誤發生,它不會在任何瀏覽器上運行......任何想法? – 2012-03-14 08:37:31
在這裏你有一個非常簡單的例子,http://www.w3schools.com/dom/dom_loadxmldoc.asp。請記住,如何在本地加載文件。請驗證文件'xmlDoc = loadXMLDoc(「books.xml」);'你可以給這樣的'文件://C:/文件' – linguini 2012-03-14 08:48:46