2012-11-30 42 views
2
<!DOCTYPE html> <html> <head> <script> 
    function loadXMLDoc(url) { 
     var xmlhttp; 
     var txt, x, xx, i; 
     if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari 
      xmlhttp = new XMLHttpRequest(); 
     } 
     else {// code for IE6, IE5 
      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
     } 
     xmlhttp.onreadystatechange = function() { 
      if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
       txt = "<table border='1'><tr><th>Title</th><th>Artist</th></tr>"; 
       x = xmlhttp.responseXML.documentElement.getElementsByTagName("curriculum_item"); 
       for (i = 0; i < x.length; i++) { 
        txt = txt + "<tr>"; 
        xx = x[i].getElementsByTagName("title"); 
        { 
         try { 
          txt = txt + "<td>" + xx[0].firstChild.nodeValue + "</td>"; 
         } 
         catch (er) { 
          txt = txt + "<td> </td>"; 
         } 
        } 
        xx = x[i].getElementsByTagName("abstract"); 
        { 
         try { 
          txt = txt + "<td>" + xx[0].firstChild.nodeValue + "</td>"; 
         } 
         catch (er) { 
          txt = txt + "<td> </td>"; 
         } 
        } 
        txt = txt + "</tr>"; 
       } 
       txt = txt + "</table>"; 
       document.getElementById('txtCDInfo').innerHTML = txt; 
      } 
     } 
     xmlhttp.open("GET", url, true); 
     xmlhttp.send(); 
    } </script> </head> <body> 

<div id="txtCDInfo"> <button onclick="loadXMLDoc('curriculum_materials.xml')">Get CD info</button> </div> 

</body> </html> 

大家好,的XMLHTTPRequest讀本地文件不工作在所有瀏覽器

我需要創建一個HTML5頁面,它從文件中讀取並顯示HTML5網頁上的內容。當我在Visual Studio上運行它時,這工作正常。

但是,當我將這些複製到其他文件夾並從那裏運行它不適用於大多數瀏覽器。在IE 9,Firefox和Chrome上試用過。我需要把它寫在CD上,以便在我插入CD時自動運行。請在上面找到代碼。我知道很多人都問過同樣的問題,但找不到解決方案。

+0

這裏沒有跨域問題。 html5頁面必須讀取本地xml文件並顯示輸出。這是一個非常簡單的應用程序來讀取XML和顯示內容。但要寫它到CD我已經複製bin文件夾,XML文件和HTML頁到不同的文件夾,並試圖從那裏運行HTML頁面。但不顯示xml的內容。請請幫忙。 – user1855437

+0

更改了碼位。現在它完美地處理Firefox。 IE瀏覽器不能正常工作,如果我以chrome.exe的身份運行chrome.exe - 允許文件從文件訪問它的工作原理。我正在使用Windows 7,請在下面找到代碼。應該有解決方案,以便它適用於所有瀏覽器?由於char限制,不能粘貼代碼。 – user1855437

回答

0

這是IE的答案。我在Win 7 Pro,IE 11上使用它。我開始了你的位置 - 同樣的問題,並且爲IE做了工作。

xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
xmlhttp.open("GET", "myXMLfile.xml", false); 
xmlhttp.send(); 
var parser = new DOMParser(); 
var xmlDoc = parser.parseFromString(xmlhttp.responseText, 'text/xml'); 

// Now this works 
alert(xmlDoc.getElementsByTagName("Item")[0]); 
相關問題