Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript chrome和safari中的getElementsByTagName问题_Javascript_Xml_Dom_Safari_Google Chrome - Fatal编程技术网

Javascript chrome和safari中的getElementsByTagName问题

Javascript chrome和safari中的getElementsByTagName问题,javascript,xml,dom,safari,google-chrome,Javascript,Xml,Dom,Safari,Google Chrome,我正在用javascript解析Google Maps RSS,并使用以下代码获取点坐标: point\u coords=items.getElementsByTagName('georss:point') 不幸的是,它可以在FF中工作,但不能在safari和chrome中工作(仍然没有在Opera和IE中测试) XML看起来像: <item> <guid isPermaLink="false">guidNo</guid> <pubDat

我正在用javascript解析Google Maps RSS,并使用以下代码获取点坐标:

point\u coords=items.getElementsByTagName('georss:point')

不幸的是,它可以在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>

吉德诺
2009年3月23日星期一20:16:41+0000
标题文本
联合信贷银行
42.732342 23.296659

从技术上讲,
的标签名是
,而不是
georss:point
。试试看。

最终解决方案适用于IE6、7、8、FF、Opera、Chrome和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

感谢所有提示,他们完成了任务)

我遇到了类似的问题
getElementsByTagName
在safari上失败,但在Firefox/Internet Exlporer上失败。原来Firefox/InternetExplorer需要名称空间前缀,而Safari不需要名称空间前缀,所以现在,根据代理

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

getElementsByTagName("Collection")       // safari

safari实现的变通方法


谢谢你的回答,我认为你俩都是正确的,这取决于浏览器,所以我使用了一个选择器组合。我仍然无法让它在任何地方都能运行(opera左),但我希望我能在周一找到解决方案,并向您展示解决方案。再次感谢