Проблема getElementsByTagName в Chrome и Safari - PullRequest
4 голосов
/ 05 февраля 2010

Я анализирую Google Maps RSS с помощью javascript и использую следующий код для получения координат точки:

point_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>

Ответы [ 4 ]

6 голосов
/ 08 февраля 2010

Окончательное решение, работающее в 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

Спасибо за все советы, которые они сделали)

3 голосов
/ 22 мая 2010

Подобная проблема для меня. getElementsByTagName не удалось в Safari, но не в Firefox / Internet Exlporer. Оказывается, префикс пространства имен был необходим для Firefox / Internet Explorer, а не для Safari, так что теперь, по словам агента ...

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

getElementsByTagName("Collection")       // safari
1 голос
/ 05 февраля 2010

Технически, имя тега для <georss:point> равно point, а не georss:point. Попробуйте это.

0 голосов
/ 27 апреля 2017

Обходной путь для реализации сафари.

https://gist.github.com/branflake2267/d16365012e27f514685eb5c365dcb315

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...