トップページは3つのRSSフィードから 動的に生成してるのですが、 やはり外部のフィードを読むとなると時間がかかるので、 JavaScriptにすれば非同期的に読み込むこともできるんじゃね、 とか思ってやってみました。 いろいろ試行錯誤したんですけど、 やっぱり標準的なやりかたがいいかなあ、と思ってJSONPにしました。
- index.htmlが設定をして、loadfeeds.jsを呼ぶ。
- loadfeeds.jsがwindow.onloadに「feedjs.phpを呼ぶべし」と設定する。
- feedjs.phpはどのフィードを取ってくるかを決めて、FeedGetterを呼ぶ。
- FeedGetterがフィードを取ってくる(キャッシュもする)。
- feedjs.phpはMySmarty経由でfeedjs.tplを使ってJavaScriptを出力。
- そのJavaScript内でloadfeeds.jsで定義されたdrawFeed()を呼ぶ。
- drawFeed()がHTMLに整形して描画。
こんな感じです。
ソースはこちら: FeedGetter
Original Article: http://blog.fuktommy.com/1192898342