2010-02-05 85 views
4

我真的解析谷歌地图RSS使用JavaScript和使用下面的代码,以获得一点问题坐标:的getElementsByTagName在Chrome和Safari

point_coords = items.getElementsByTagName( '的GeoRSS:点')

不幸的是,在FF但不是在Safari和Chrome(仍然在Opera和IE未测试)

的XML看起来像:

<item> 
    <guid isPermaLink="false">guidNo</guid> 
    <pubDate>Mon, 23 Mar 2009 20:16:41 +0000</pubDate> 

    <title>title text</title> 
    <description><![CDATA[text]]></description> 
    <author>UniCreditBulbank</author> 
    <georss:point> 
     42.732342 23.296659 
    </georss:point> 
    </item> 
+0

感谢您的答案,我想你'重新两者直接从浏览器依赖,所以使用选择的组合我真的。我仍然无法让它在任何地方都能正常工作(歌剧还剩),但我希望我能在星期一搞清楚并向你展示解决方案。 再次感谢 – 2010-02-05 22:16:05

回答

6

最终解决方案的工作和Safari

point_coords = item.getElementsByTagName('georss:point')[0]; 
if(!point_coords || point_coords == null){ 
    point_coords = item.getElementsByTagName('point')[0]; 
} 
if(!point_coords || point_coords == null){ 
    point_coords = item.getElementsByTagNameNS('http://www.georss.org/georss', 'point')[0]; 
} 
return point_coords 

感谢所有提示他们做的工作)

1

的Techni cally,<georss:point>的标签名称是point,而不是georss:point。试试看。在IE6,7,8,FF,歌剧,铬

3

类似的问题对我来说。 getElementsByTagName在Safari浏览器上失败,但不是Firefox/Internet Exlporer。根据代理发现Firefox/Internet Explorer需要命名空间前缀,现在不需要Safari。

getElementsByTagName("iesr:Collection") // ff/ie 

getElementsByTagName("Collection")  // safari