JQuery在非服务器环境下解析XML的折中解决方案[转]

这2个代码在本地硬盘上运行都有问题:
 

<script type="text/javascript">
$(function() {
   $.get('f.xml',function(data) {
       alert(data);//ok
       $('entry',data).each(function() {
               alert('find');
       });
   });
});
</script>
  $(document).ready(function() {
        $.get("d.xml",function(xml){ 
          
          alert($('/controls/control', xml).text()); 
        });
      });
  d.xml
<?xml version="1.0" encoding="UTF-8"?>
<controls> 
  <control>aaaaa</control> 
</controls> 
 


我开始不知道怎么回事,于是去了官方论坛上与Learning JQuery的作者以及Jquery官方开发人员讨论了一下。
他们开始也没有给出解决方案。但是有一个Mike找到了表面原因,那就是:
在本地硬盘上运行不了(非服务器环境下运行都运行不了),放在服务器上运行就可以。
深层次分析不知道为什么。


很感谢这个Mike。
我研究了一会儿,搞定了临时折中的解决方案,分享给大家:
 

  <script language="javascript">
    $(document).ready(function() {
        $.get("d.xml",function(xml){ 
          var xmlDoc=null;
          if ($.browser.msie)
          {
            xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
            xmlDoc.loadXML(xml); 
          }
          else
          {
          var parser = new DOMParser();
          var xmlDoc= parser.parseFromString(xml, "text/xml");
          }
          
          alert($('/controls/control', xmlDoc).text()); 
        });
      });
  </script>
300*300
 文章首页关于迷茫时代关于我写意人生
版权所有:迷茫时代 All rights reserved   
执行时间:0.00433 秒