網頁

2013年1月6日 星期日

Javascript學習筆記-適用各瀏覽器的XML load

最近幫朋友一件事,案子正常是要求很蠢,一個超大的電信商,居然用ie6,還無法更動,果然公司越大就越難以改變,難怪台灣的網路永遠都這麼爛~

抱怨完了,回到原題,總之,需求如下:

  1. firefox及chrome要能使用(原本不行)
  2. ie 6、ie 7依然要能正常使用,因為他們內部的網站都用這個才能正常執行,所以不可以不能用

看了他們的code後,才知道是load xml的問題,只要改成以下的做法即可....

//firefox、chrome、ie 9之後
if (document.implementation && document.implementation.createDocument){
    var xhr = new XMLHttpRequest;
    xhr.open('get',test.xml",true);
    xhr.onreadystatechange = function(){
        if (xhr.readyState != 4) return;
        xmlDoc = xhr.responseXML;
        //做你要的事
    };
    xhr.send();
}

//ie 6、ie 7、ie 8
else if (window.ActiveXObject){
    xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
    xmlDoc.onreadystatechange = function () {            
        if (xmlDoc.readyState == 4){
           //做你要的事
        }
    };
    xmlDoc.async = false;
    xmlDoc.load(test.xml");
}


有些事,知道了很簡單,不知道時,做到死....

參考網址:
xml load

沒有留言:

張貼留言