PHPやJavaScriptなどの覚え書き、たまに愚痴、反省など。
XMLに対するSafariのgetElementsByTagName()
JavaScriptでRSSをパースするスクリプトを作成してテストしていたら、Safariでだけうまく動作しなかった。
いろいろテストしてみたら、以下のような部分に問題があったことがわかった。
var siteLink = chnl.getElementsByTagName('link')[0].childNodes[0].nodeValue;
RSSのほうでは以下のような感じ。
-- 中略 -- <channel> <title>デジタルカタログ制作のデジパン</title> <atom:link href="http://www.digipan.jp/feed" rel="self" type="application/rss+xml" /> <link>http://www.digipan.jp</link> -- 中略 --
どうやら、Safariは名前空間atomのlink(atom:linkという要素)もgetElementsByTagName(‘link’)で拾ってしまうらしい。
IEやFirefoxではこのような問題はなかったが、どちらの解釈が正しいのかは不明。
そういえば、昔はFirefoxもこういう解釈だった気がするけど気のせい?
| この記事は miya によって 2009 年 11 月 8 日 3:16 AM に投稿されました, 未分類 以下に保存されています。 RSS 2.0 を通してコメントをフォローする。 コメントを残すか、ご自分のサイトからトラックバックできます。 |
コメント無し
トラックバックはありません。
Additional comments powered by BackType

