福冨諭の福冨論

RSSリーダーではこちらをどうぞ→https://feeds.feedburner.com/fuktommy

トップページをJSONP化

トップページは3つのRSSフィードから 動的に生成してるのですが、 やはり外部のフィードを読むとなると時間がかかるので、 JavaScriptにすれば非同期的に読み込むこともできるんじゃね、 とか思ってやってみました。 いろいろ試行錯誤したんですけど、 やっぱり標準的なやりかたがいいかなあ、と思ってJSONPにしました。

  1. index.htmlが設定をして、loadfeeds.jsを呼ぶ。
  2. loadfeeds.jsがwindow.onloadに「feedjs.phpを呼ぶべし」と設定する。
  3. feedjs.phpはどのフィードを取ってくるかを決めて、FeedGetterを呼ぶ。
  4. FeedGetterがフィードを取ってくる(キャッシュもする)。
  5. feedjs.phpはMySmarty経由でfeedjs.tplを使ってJavaScriptを出力。
  6. そのJavaScript内でloadfeeds.jsで定義されたdrawFeed()を呼ぶ。
  7. drawFeed()がHTMLに整形して描画。

こんな感じです。

ソースはこちら: FeedGetter

Original Article: http://blog.fuktommy.com/1192898342