xml解析兼容性問題的避免

1、引言

js在處理xml過程中,由於瀏覽器兼容性問題,要做許多的兼容處理,隨着瀏覽器是升級,大多數瀏覽器都已經默認保持統一標準,以便於我們日常的開發,然而有了微軟的IE這個奇葩的存在,形成了大多數前端開發者的噩夢,最近做的一個項目就踩中一個大坑,IE11和以往的IE6、7、8等既然都不一樣,並且沒和其他瀏覽器保持統一標準

2、問題描述

前端開發過程中一般希望能全部使用原生js就避免使用封裝好的js庫,所以在解析xml字符串的過程中一開始選擇使用原始js來實現,從w3cSchool找到一段代碼,看了下好像實現了功能並且保證了兼容性的代碼


function loadXmlString(XmlString) {
    try { // Internet Explorer
        xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
        xmlDoc.async = "false";
        xmlDoc.loadXML(XmlString);
    } catch (e) {
        try { // Firefox, Mozilla, Opera, etc
            //          xmlDoc=document.implementation.createDocument("","",null);
            parser = new DOMParser();
            xmlDoc = parser.parseFromString(XmlString, "text/xml");
        } catch (e) {
            alert(e.message);
        }
    }
    try {
        return (xmlDoc);
    } catch (e) {
        alert(e.message);
    }
    return (null);
}

在谷歌火狐以及IE8的測試下正常運行能解析返回一個正常的dom對象,然而提交到測試那邊發現此代碼在IE11下既然不能正常運行,谷歌搜索了一下IE11不再支持ActiveXObject(“Microsoft.XMLDOM”)這個功能來實現xml字符串的解析返回dom對象,所以爲了保證兼容性,選擇引入jquery來實現這塊功能,避免因爲兼容性問題導致功能的不完善

jQuery.parseXML(data)
\\jquery提供此方法可以解析xml字符並返回一個dom對象
\\注意不是放回jq對象,但是可以和正常的dom對象一樣通過轉化爲jq對象
發佈了33 篇原創文章 · 獲贊 5 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章