【问题标题】:javascript error while reading xml file in ie在ie中读取xml文件时出现javascript错误
【发布时间】:2009-10-25 00:48:19
【问题描述】:

我在使用 javascript 读取 xml 文件时遇到问题。

它在其他浏览器中运行良好,但它会抛出以下错误。

Microsoft JScript 运行时错误: 'null' 为 null 或不是对象

我的代码 sn-p 如下。

  GDownloadUrl("<?php echo $cfg->webroot;?>/G-map/map_xml/<?php echo $_SESSION['xml_file_name'];?>", function(data) {
              var xml = GXml.parse(data);
              var markers = xml.documentElement.getElementsByTagName("marker");

             for (var i = 1; i <=markers.length; i++) 
             {  

                /// Error produce here just for IE  

                    var type=markers[i].getAttribute("type");
                     var name =markers[i].getAttribute("title");

                     var address =markers[i].getAttribute("address");
        //           var link= '<a href="doc_detail/doc_detail-'+ markers[i].getAttribute('id')+'.html" class="doc_url">Read More</a>';
                     var point = new GLatLng(parseFloat(markers[i].getAttribute("latitude")),
                     parseFloat(markers[i].getAttribute("longitude")));

                     var marker = createMarker(point, name, address, type);
                     map.addOverlay(marker);
             }

提前致谢

【问题讨论】:

    标签: javascript xml internet-explorer


    【解决方案1】:

    您的循环使用基于 1 的数组:如果这是正确的,我会感到惊讶...

    试试这个:

    for (var i = 0; i < markers.length; i++) 
    

    【讨论】:

    • 非常感谢,它对我有用,你能解释一下到底是什么问题吗?
    • javascript 中的数组是基于 0 的。这意味着具有 5 个元素(长度为 5)的数组具有元素 0 到 4。而不是 1 到 5。这意味着您的条件是“关闭一”错误。
    • 是的,@coderjoe 的解释中没有什么可补充的
    • 嗨 Greg,上面的代码是我使用 google api 读取 xml 文件的代码。它在所有浏览器中都可以正常工作,但是在 ie7 和 ie8 中,它会在读取 xml 文件时产生问题,实际上我的 xml 文件正在更新某个事件,并且在该事件之后通过 ajax 读取这个 xml 文件并且数据将显示在地图中。这里的 xml 文件更新得很好,但是在 ie7 和 ie8 中,每次 ajax 都会给出第一个响应。意味着它没有读取最新的 xml 文件。你能解释一下可能是什么问题,特别是对于 ie7 和 ie8 ..
    • 听起来 XML 正在被缓存 - 在 URL 中添加一个随机数 - 例如,如果你有 "google.com/foo.xml" 则将其设为 "google.com/foo.xml?rnd=" + Math.random()跨度>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-15
    • 1970-01-01
    • 2012-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多