国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > AJAX > 正文

用AJAX技術(shù)聚合RSS

2024-09-01 08:30:09
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
有時(shí)候,你的Blog可能需要這樣的功能:

? 在自己Blog上聚合并顯示朋友Blog的最新文章,這樣方便自己及時(shí)了解朋友的消息,另外,也方便訪(fǎng)問(wèn)者找到和本Blog相關(guān)的blog和文章。

這個(gè)功能你可以叫它“Blog聚合”或者“Blog聯(lián)播”,目前,實(shí)現(xiàn)這樣功能的軟件或服務(wù)都有限制:比如,Terac Sinfonia、Lilina、MXNA雖然功能都很強(qiáng)大,但是需要安裝,不能自由定制,不能嵌入到Blog側(cè)邊欄。另一方面,目前提供這樣服務(wù)的BSP只能聚合本系統(tǒng)內(nèi)的用戶(hù),限制也很多。

為了解決以上問(wèn)題,我采用AJAX(Asynchronous JavaScript + XML)技術(shù)實(shí)現(xiàn)了在自己Blog上聚合并顯示朋友Blog的最新文章的功能,你可以根據(jù)需要,進(jìn)行自由定制。默認(rèn)是支持RSS 2.0規(guī)范的,Terac Miracle、Movable Type、Word Press、Donews / 博客園 / CSDN采用的.Text系統(tǒng)都能很好的支持,你可以自由修改,來(lái)支持RSS 0.92、RSS 1.0、Atom 0.3。

為什么采用AJAX呢?首先,聚合別人的RSS不能影響自己網(wǎng)站的速度,所以需要異步執(zhí)行,其次,RSS本身就是一個(gè)很規(guī)范的XML文檔,另外,由于聚合內(nèi)容大小不可定,所以必須要局部刷新,最重要的一點(diǎn),采用AJAX完全把加載解析XML的操作放到客戶(hù)端進(jìn)行處理,節(jié)省服務(wù)器帶寬和資源,最后,這個(gè)功能我完全用JavaScript實(shí)現(xiàn)的,這樣,不管你的blog是ASP、.Net、PHP、JSP、Perl,甚至純HTML的都能用。下面說(shuō)用法:

首先,在你Blog側(cè)邊欄合適位置加入這樣一段代碼:

然后將下面的內(nèi)容保存成“ajax_rss.js”,然后上傳到服務(wù)器相應(yīng)的位置:
? //你可以自由添加符合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é)束,測(cè)試一下吧!
發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 陇川县| 上栗县| 桦甸市| 武陟县| 溧水县| 无棣县| 武山县| 梨树县| 淳安县| 桦南县| 韶山市| 康马县| 弥勒县| 察隅县| 西峡县| 嘉荫县| 宝山区| 扶沟县| 株洲县| 和政县| 周宁县| 嘉祥县| 崇信县| 库伦旗| 罗城| 陇南市| 葵青区| 山阴县| 虹口区| 东海县| 泉州市| 宣汉县| 济源市| 宁德市| 龙陵县| 集贤县| 曲阳县| 大港区| 搜索| 抚顺市| 尉犁县|