溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

ie中jQuery無法解析xml文件的解決方案

發(fā)布時間:2020-05-23 14:36:48 來源:網(wǎng)絡(luò) 閱讀:539 作者:pantao20 欄目:web開發(fā)

功能描述:使用jQuery解析已經(jīng)定義好內(nèi)容的xml文件

1.xml文件:menu.xml
<?xml version="1.0" encoding="gb2312"?>
<menus>
    <menu>
        <id>1</id>
        <name>system</name>
        <parentId>0</parentId>
        <target>mainFrame</target>
        <url></url>
    </menu>
    <menu>
        <id>2</id>
        <name>company</name>
        <parentId>1</parentId>
        <target>mainFrame</target>
        <url></url>
    </menu>
</menus>
2.自定義js文件解析xml文件:index.js
$(document).ready(function(){
    $.ajax({
           url:"xml/menu.xml ",
           type:"POST", 
           dataType:"xml",
           success:function(data){
                      $(data).find("menu").each(function(){
                               alert("success");
                               alert($(this).text());
                      });
           },
           error:function(data){
                     alert("fail:");
           }
    });
});
3.新建index.html文件引入jQuery.js、xml文件及index.js文件,在ie中(任何版本)運行index.html,結(jié)果總是彈出“fail”,但是在Firefox中的結(jié)果卻是“success”。
在網(wǎng)上搜了很多資料,最后在這篇文章http://www.newmediafun.com/2009/07/parsing-xml-with-jquery-in-internet-explorer/上找到了解決方案。是因為ie中的限制無法正確解析xml文件,它解析出的是一個text對象(在我引用的文章中有更詳細(xì)的解釋)所以針對這個加入判斷就可以解決了
正確代碼index.js
$(document).ready(function(){
    $.ajax({
         url:"xml/menu.xml",
         type:"POST", 
         dataType:($.browser.msie) ? "text" : "xml",
         success:function(data){
                var xml;
                if( typeof data == "string" ){
                         xml = new ActiveXObject("Microsoft.XMLDOM");
                         xml.async = false;
                         xml.loadXML(data);
                } else {
                         xml = data; 
                }
              $(xml).find("menu").each(function(){
                  alert("success");
                  alert($(this).text());
              });
        },
       error:function(data){
               alert("fail:");
       }
    });
});
 
//**********************判斷瀏覽器 —— 簡單判斷方法*****************************
<script language="javascript">
    if(window.XMLHttpRequest)//判斷瀏覽器是否屬于Mozilla,Sofari
    {
        alert("firefox");
    }
    else if(window.ActiveXObject)//判斷瀏覽器是否屬于IE
    {
        var browser=navigator.appName 
        var b_version=navigator.appVersion 
        var version=b_version.split(";"); 
        var trim_Version=version[1].replace(/[ ]/g,""); 
        if(browser=="Microsoft Internet Explorer" && trim_Version=="MSIE7.0") 
        { 
        alert("IE 7.0"); 
        } 
        else if(browser=="Microsoft Internet Explorer" && trim_Version=="MSIE6.0") 
        { 
        alert("IE 6.0"); 
        } 
    }
</script>
向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI