2011-07-10 171 views
0

我讀過無數的線程,並試圖實現許多不同的建議,但沒有任何運氣。IE瀏覽器和Ajax/XPath

第一:

function ajaxRequest() { 
     try { 
       var request = new XMLHttpRequest(); 
     } 
     catch(e1) { 
       try { 
         var request = new ActiveXObject("Msxml2.HTMLHTTP"); 
       } 
       catch(e2) { 
         try { 
           var request = new ActiveXObject("Microsoft.XMLHTTP"); 
         } 
         catch(e3) { 
           var request = false; 
         } 
       } 
     } 
     return request; 
} 

它看起來像IE成功地使用XMLHttpRequest的。據我所知,它是在加載XML罰款,但XPath是另一個故事:

function XMLPath(doc, path) { 
    try { 
      return doc.evaluate(path, doc, null, XPathResult.STRING_TYPE, null).stringValue; 
    } catch (e) { 
      try { 
        doc.setProperty("SelectionLanguage", "XPath"); 
        return doc.selectNodes(path); 
      } 
      catch(e2) { 
        alert(e2); 
      } 
    } 

}

基本上,必須我在catch語句修改,使其與IE瀏覽器?另外有趣的是,它從不提醒e2錯誤,這意味着它實際上並沒有發生錯誤。完全困惑。

謝謝。

回答

1

嘗試return doc.selectSingleNode(path).text;用於IE,即距離訪問您的路徑找到的節點的字符串值最近的地方。

+0

這樣做!非常感謝。 –