佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > 用AJAX技術(shù)聚合RSS

用AJAX技術(shù)聚合RSS

熱門標(biāo)簽:阿里云 電子圍欄 銀行業(yè)務(wù) Mysql連接數(shù)設(shè)置 服務(wù)器配置 科大訊飛語音識別系統(tǒng) Linux服務(wù)器 團購網(wǎng)站
有時候,你的Blog可能需要這樣的功能:
  在自己Blog上聚合并顯示朋友Blog的最新文章,這樣方便自己及時了解朋友的消息,另外,也方便訪問者找到和本Blog相關(guān)的blog和文章。
這個功能你可以叫它“Blog聚合”或者“Blog聯(lián)播”,目前,實現(xiàn)這樣功能的軟件或服務(wù)都有限制:比如,Terac Sinfonia、Lilina、MXNA雖然功能都很強大,但是需要安裝,不能自由定制,不能嵌入到Blog側(cè)邊欄。另一方面,目前提供這樣服務(wù)的BSP只能聚合本系統(tǒng)內(nèi)的用戶,限制也很多。
為了解決以上問題,我采用AJAX(Asynchronous JavaScript + XML)技術(shù)實現(xiàn)了在自己Blog上聚合并顯示朋友Blog的最新文章的功能,你可以根據(jù)需要,進行自由定制。默認是支持RSS 2.0規(guī)范的,Terac Miracle、Movable Type、Word Press、Donews / 博客園 / CSDN采用的.Text系統(tǒng)都能很好的支持,你可以自由修改,來支持RSS 0.92、RSS 1.0、Atom 0.3。
為什么采用AJAX呢?首先,聚合別人的RSS不能影響自己網(wǎng)站的速度,所以需要異步執(zhí)行,其次,RSS本身就是一個很規(guī)范的XML文檔,另外,由于聚合內(nèi)容大小不可定,所以必須要局部刷新,最重要的一點,采用AJAX完全把加載解析XML的操作放到客戶端進行處理,節(jié)省服務(wù)器帶寬和資源,最后,這個功能我完全用JavaScript實現(xiàn)的,這樣,不管你的blog是ASP、.Net、PHP、JSP、Perl,甚至純HTML的都能用。下面說用法:
首先,在你Blog側(cè)邊欄合適位置加入這樣一段代碼:

然后將下面的內(nèi)容保存成“ajax_rss.js”,然后上傳到服務(wù)器相應(yīng)的位置: 
  
復(fù)制代碼 代碼如下:

//你可以自由添加符合RSS 2.0規(guī)范的 RSS 
  processRSS('http://www.songlian.cn/blog/feed.php'); 
  processRSS('http://www.bo-blog.com/weblog/feed.php'); 
  function processRSS(url){ 
    var req = getXMLHttpRequest(); 
    req.onreadystatechange = function () { 
      if (req.readyState == 4  req.status == 200) { 
        var doc=req.responseXML.documentElement;  
        parseRSS(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.getElementsByTagName("title")[0].firstChild.data; 
    var entryName=doc.getElementsByTagName("title")[1].firstChild.data; 
    var entryLink=doc.getElementsByTagName("link")[1].firstChild.data; 
  document.getElementById('ajax_rss').innerHTML += ''+entryName+' 
'; } 
  function getXMLHttpRequest() { 
      var xmlhttp; 
      try { 
          xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); 
      } catch (e) { 
          try { 
              xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
          } catch (e) { 
              xmlhttp = false; 
          } 
      } 
      if (!xmlhttp  typeof XMLHttpRequest != 'undefined') { 
          xmlhttp = new XMLHttpRequest(); 
      } 
      return xmlhttp; 
  } 
好了,安裝結(jié)束,測試一下吧!

標(biāo)簽:蚌埠 江蘇 棗莊 萍鄉(xiāng) 衡水 大理 衢州 廣元

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《用AJAX技術(shù)聚合RSS》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    蚌埠市| 明水县| 榆社县| 罗田县| 兰坪| 大石桥市| 金山区| 汕尾市| 土默特左旗| 鞍山市| 合山市| 正宁县| 南通市| 马山县| 卫辉市| 苗栗市| 治多县| 抚州市| 兖州市| 顺昌县| 宁陕县| 全南县| 昌吉市| 化德县| 馆陶县| 湾仔区| 临夏县| 贞丰县| 彭阳县| 蒙自县| 林周县| 温州市| 普洱| 阿尔山市| 广宗县| 皮山县| 合川市| 宁国市| 安康市| 托里县| 平邑县|