相対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 へのご要望」からリクエストしてみました。実装されるといいな。