重複してページなんて作りたくない
iPhone用のコンテンツを考えてくると、既存のサイトの加工か専用ページの作成、またはデザインと内容を分離できていれば何とかしてデータを取り込んで加工としたくなる。
2つのドメイン、クロスドメインで困る。
メインは普通のHTML、サブはMTで作成している。サブはRSSを吐き出せるのでなんとかしたい。
さて、サブRSSをメインに取り込むことに使うのがGoogle AJAX Feed APIというやつ。
はじめての Google AJAX Feed APIのサンプルコードを仕込むと簡単に動いてくれた。希望が持てる。
さてさて、Movable Typeが作成してくれるRSSにはいろいろな情報もくっついている。パラメータの取り込み方がわからなかったが、Google AJAX Feed API入門で分かった。
鼻をフンフン鳴らして作成していると
<script type="text/javascript"> google.load("feeds", "1"); $(function() { var feedArr = [ {id: "num1", title: "自習室", url: "http://hoge.co.jp/num1/rss.xml"}, {id: "num2", title: "コピー室", url: "http://hoge.co.jp/num2/rss.xml"}, {id: "num3", title: "給湯室", url: "http://hoge.co.jp/num3/rss.xml"} ]; for(var i=0; i<feedArr.length; i++){ var feed = new google.feeds.Feed(feedArr[i]["url"]);//RSSフィードの取得 feed.setNumEntries(100);//取得するフィード数 feed.load(function(result) {//実際に読む込む if (!result.error) {//読み込めたか判別 uls+=...//実際のコード }//if result.error });//feed.load }//for (uls).appendTo( document.body ); }); </script> </head> <body></body>
こんな感じのコードを作ってループをブン回す!!
実際のコードに「alert(i);」を仕込むと、三回とも「3」が表示される。
2までしかインクリメントしないはずなのに、なぜに「3」なの?
「i=i-1」無理矢理を仕込むとRSSの取得は出来る。
こんな謎は久しぶりだ。原因究明してコードを弄くっても、可読性が悪くなりそうで悩む。
google.feeds.FeedControlを使うと解決できるらしい。
続く。
ちょいとした続き。
Google AJAX Feed API クラス リファレンス
これ重要!