岩本隆史の日記帳(アーカイブ)

はてなダイアリーのサービス終了をうけて移行したものです。更新はしません。

相対URLを絶対URLにするグリモンを書いた

需要はあまりないとは思いますが、個人的にイライラの種だったので、書いてみました。

これが


こうなる


それだけですが、ちょっと補足

RESTful Webサービス』の共著者の一人であるSam Ruby氏のブログAtomフィードは、各エントリのURLがなぜか相対パスになっていて、LDRで「v」や「p」「o」すると、LDRの404ページが表示されてしまいます。

「フィードを直して」と頼めばすむ話かもしれませんが、グリモンが久々に書きたくなったのでした。他にもそんなフィードがあるかもしれないですし。

ちなみに、相対URLエントリを含むフィードについては、全エントリにGETリクエストが飛びます。200件を一度に表示すると、200件のGETリクエストが飛ぶわけです。さすがにスリープさせないとまずいので、1秒ごとに飛ぶよう調整しています。リクエストを飛ばさないURLの解決方法もあるとは思いますが、わいの頭では考えられへん。

http://www.json.com/2008/04/08/the-future-ajax-wrapper/」よりabsoluteUrl関数を拝借、HTTPリクエストが飛ばないよう改善しました。

追記(2008-09-06)

うわあ、表示されているリンクを絶対パスにしても、「v」や「p」「o」には無力だよな…orz

暇みて直します!直しました! ソースのコメントにも書きましたが、キーボードショートカット使いの方(ほとんどそうでしょうけど)は、ABSOLUTIZE_TITLEをfalseにしたほうが良いです。タイトル部分のリンク先が相対URLのままになりますが、ここから飛ぶことはないですよね。

追記(2008-09-08)

"なぜか相対パス" < Atom フィード的には valid。LDR での対応が望まれます。ちなみに Tim Bray のフィードも相対パス。わざとやってるっぽいです。

はてなブックマーク - yoheiのブックマーク / 2008年9月8日

おお、ありがとうございます。なんとなくinvalidだと思い込んでました…orz

本家での対応を「livedoor へのご要望」からリクエストしてみました。実装されるといいな。

追記(2008-09-19)

Atomフィードの書き方が変わったため、このグリモンでは太刀打ちできなくなってますね。xml:baseを解釈しないフィードリーダーLDR)に問題があるといってよいでしょう。短い命でした。