首页 > 开发 > AJAX > 正文

用AJAX技术聚合RSS的详细教程

2024-09-01 08:30:14
字体:
来源:转载
供稿:网友

  RSS聚合器是一种AJAX引擎进行构建的应用程序,下面小编就给大家分享一篇关于用AJAX技术聚合RSS的详细教程吧,感兴趣的朋友跟小编一起来了解一下吧!

  有时候,你的Blog可能需要这样的功能:

  在自己Blog上聚合并显示朋友Blog的最新文章,这样方便自己及时了解朋友的消息,另外,也方便访问者找到和本Blog相关的blog和文章。

  这个功能你可以叫它“Blog聚合”或者“Blog联播”,目前,实现这样功能的软件或服务都有限制:比如,TeracSinfonia、Lilina、MXNA虽然功能都很强大,但是需要安装,不能自由定制,不能嵌入到Blog侧边栏。另一方面,目前提供这样服务的BSP只能聚合本系统内的用户,限制也很多。

  为了解决以上问题,我采用AJAX(AsynchronousJavaScript+XML)技术实现了在自己Blog上聚合并显示朋友Blog的最新文章的功能,你可以根据需要,进行自由定制。默认是支持RSS2.0规范的,TeracMiracle、MovableType、WordPress、Donews/博客园/CSDN采用的.Text系统都能很好的支持,你可以自由修改,来支持RSS0.92、RSS1.0、Atom0.3。

  为什么采用AJAX呢?首先,聚合别人的RSS不能影响自己网站的速度,所以需要异步执行,其次,RSS本身就是一个很规范的XML文档,另外,由于聚合内容大小不可定,所以必须要局部刷新,最重要的一点,采用AJAX完全把加载解析XML的操作放到客户端进行处理,节省服务器带宽和资源,最后,这个功能我完全用JavaScript实现的,这样,不管你的blog是ASP、.Net、PHP、JSP、Perl,甚至纯HTML的都能用。下面说用法:

  首先,在你Blog侧边栏合适位置加入这样一段代码:

  然后将下面的内容保存成“ajax_rss.js”,然后上传到服务器相应的位置:

  复制代码 代码如下:

  //你可以自由添加符合RSS2.0规范的RSS

  processRSS('http://www.songlian.cn/blog/feed.php');

  processRSS('http://www.bo-blog.com/weblog/feed.php');

  functionprocessRSS(url){

  varreq=getXMLHttpRequest();

  req.onreadystatechange=function(){

  if(req.readyState==4&&req.status==200){

  vardoc=req.responseXML.documentElement;

  parseRSS(doc);

  }

  }

  req.open("GET",url,true);

  req.send(null);

  }

  functionparseRSS(doc){

  //如果要用RSS0.92,RSS1.0,Atom0.3,你需要改下面3行

  varblogName=doc.getElementsByTagName("title")[0].firstChild.data;

  varentryName=doc.getElementsByTagName("title")[1].firstChild.data;

  varentryLink=doc.getElementsByTagName("link")[1].firstChild.data;

  document.getElementById('ajax_rss').innerHTML+=''+entryName+'

  ';}

  functiongetXMLHttpRequest(){

  varxmlhttp;

  try{

  xmlhttp=newActiveXObject("Msxml2.XMLHTTP");

  }catch(e){

  try{

  xmlhttp=newActiveXObject("Microsoft.XMLHTTP");

  }catch(e){

  xmlhttp=false;

  }

  }

  if(!xmlhttp&&typeofXMLHttpRequest!='undefined'){

  xmlhttp=newXMLHttpRequest();

  }

  returnxmlhttp;

  }

  好了,安装结束,测试一下吧!

  以上就是用AJAX技术聚合RSS的详细教程,更多相关内容请继续关注错新技术频道。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表