AJAX技術でRSSを集約する
1748 ワード
時々、あなたのブログにはこのような機能が必要かもしれません。 自分のブログに集まって、友達のブログの最新の文章を表示します。そうすると、自分の友達の情報をすぐに知ることができます。また、訪問者もこのブログに関するブログと文章を見つけやすいです。この機能は「Blog集約」または「Blog聯播」と呼ばれてもいいです。現在、Terac Sinfonia、Lilina、MXNAなど、このような機能を実現するソフトウェアやサービスには制限があります。一方、このようなサービスを提供しているBSPは、本システム内のユーザのみを集約することができ、制約も多い。以上の問題を解決するために、AJAX(Aynchronous JavaScript+XML)技術を採用して、自分のBlogの上で集まって友達のBlogの最新の文章を表示する機能を実現しました。必要に応じてカスタマイズできます。デフォルトはRSS 2.0仕様をサポートしています。Terac Miracle、Movable Type、Word Press、Donws/ブログ園/CSDNが採用しています。Textシステムはすべて良いサポートができます。RSS 0.92、RSS 1.0、Atom 0.3をサポートするために自由に変更できます。なぜAJAXを採用しますか?まず、他の人を集約するRSSは自分のサイトの速度に影響を与えないので、非同期で実行する必要があります。その次に、RSS自体は非常に規範的なXML文書です。また、統合内容のサイズが不定であるため、部分的に更新しなければなりません。一番重要な点は、AJAXを使って解析XMLの動作をクライアントに任せて処理します。サーバーの帯域幅とリソースを節約します。最後に、この機能はJavaScriptで完全に実現しました。このように、あなたのブログはASP、.Net、PHP、JSP、Perlであろうと、純HTMLのものでさえ使えます。使い方を説明します。まず、ブログのサイドバーにこのようなコードを入れます。
<script src=「ajax_」rss.js“type=”text/javascript"は次の内容を“ajax_”に保存します。rss.js」をサーバーの該当位置にアップロードします。
//RSS 2.0仕様のRSSを自由に追加できます。 processRSS('http://www.songlian.cn/blog/feed.php') processRSS('http://www.bo-blog.com/weblog/feed.php') function processRSS{url} var req=getXMLttpRequest() req.onreadystatechange=function() if(req.readyState==4&req.status==200){ var doc=req.reponseXML.documentElement; パースRSS(doc) } } req.open(「GET」、url、true); req.send(null) } function parseRSS(doc){ //RSS 0.92、RSS 1.0、Atom 0.3を使うなら、次の3行を変更してください。 var blogName=doc.getElements ByTagName(「title」)[0].first Child.data; var entryName=doc.getElements ByTagName("title")[1].first Child.data; var entryLink=doc.getElements ByTagName(link)[1].first Child.data; Dcument.getElemenntById('ajax_)rss').innerHTML+'
<script src=「ajax_」rss.js“type=”text/javascript"は次の内容を“ajax_”に保存します。rss.js」をサーバーの該当位置にアップロードします。
//RSS 2.0仕様のRSSを自由に追加できます。 processRSS('http://www.songlian.cn/blog/feed.php') processRSS('http://www.bo-blog.com/weblog/feed.php') function processRSS{url} var req=getXMLttpRequest() req.onreadystatechange=function() if(req.readyState==4&req.status==200){ var doc=req.reponseXML.documentElement; パースRSS(doc) } } req.open(「GET」、url、true); req.send(null) } function parseRSS(doc){ //RSS 0.92、RSS 1.0、Atom 0.3を使うなら、次の3行を変更してください。 var blogName=doc.getElements ByTagName(「title」)[0].first Child.data; var entryName=doc.getElements ByTagName("title")[1].first Child.data; var entryLink=doc.getElements ByTagName(link)[1].first Child.data; Dcument.getElemenntById('ajax_)rss').innerHTML+'