Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

getElementsByTagName problem in chrome and safari

I`m parsing a Google Maps RSS with javascript and using the following code to get the point coordinates:

point_coords = items.getElementsByTagName('georss:point')

Unfortunately it works in FF but not in safari and chrome (still not tested in Opera and IE)

The XML looks like:

<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>
like image 608
Ilian Iliev Avatar asked Dec 29 '22 03:12

Ilian Iliev


2 Answers

Final solution working in IE6,7,8, FF, Opera, Chrome and 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

Thanks for all hints they did the job )

like image 86
Ilian Iliev Avatar answered Jan 13 '23 12:01

Ilian Iliev


Similar problem for me. getElementsByTagName was failing on safari but not Firefox/Internet Exlporer. Turns out the namespace prefix was needed for Firefox/Internet Explorer and not for Safari so now, according to the agent...

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

getElementsByTagName("Collection")       // safari
like image 22
robert hettinga Avatar answered Jan 13 '23 13:01

robert hettinga