快速业务通道

利用PHP函数来实现“桥接”AJAX引擎和RSS内容

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-22
').innerHTML += feed.GetTitle();
 Aggregator.DisplayTitles(feed.id);
}

这个方法以Feed对象作为一个参数,显示它的标题,然后调用另一个称为DisplayTitles的方法:

Aggregator.DisplayTitles = function(id)
{
 var titleArray = Aggregator.feedCollection[id].GetAllTitles();
 var titles = document.createElement("div");
 titles.id = "subTitle_"+ id;
 document.getElementById(''title_''+id).appendChild(titles);
 for(var i=0; i<titleArray.length; i++)
 {
  titles.innerHTML += titleArray[i] +"<br />";
 }
}

这个方法接收一个回馈ID并使用它从feedCollection数组中检索回馈并且得到它的所有标题。一旦接收到这些标题,我们将为该回馈中的项标题创建一个新的DIV元素并且把它添加在相应于特定的回馈的标题之后。这将允许我们通过点击回馈标题来切换显示内容中项的标题。一旦添加该新的DIV元素,我们只需简单地遍历所有的标题并且把它们到添加该新的DIV即可。

上面两个方法中的第一个用于实现切换回馈中项的标题,第二个方法负责显示一个在index.html文件中使用我们的描述DIV元素中的回馈的内容。这些回馈的内容通过Feed对象的GetDetails方法进行收集(在下一节当我们创建Feed对象时再讨论)。

Aggregator.ToggleTitles = function(id)
{
 var titles = document.getElementById(''subTitle_''+id);
 titles.style.display = (titles.style.display == '''') ? ''none'' : '''';
}
Aggregator.DisplayFeed = function(feedId, id)
{
 var details = Aggregator.feedCollection[feedId].GetDetails(id);
 document.getElementById(''description'').innerHTML = details;
}

六、 Feed对象

这个Feed对象是一个prototype。通过它的构造器函数,Feed对象接收当我们在Aggregator对象中创建它时传递的所有参数。这些参数分别相应于回馈的ID,标题,链接和项。在这个函数中,我们设置所有的缺省值,创建一些数组以备后用,并且把项发送到一个称为parseItems的方法。在这个parseItems方法中,我们将检索我们的回馈项中的所有的值并且填充我们在构造器中创建的那个数组。

Feed.prototype.parseItems = function(items)
{
 for(var i=0; i<items.length; i++)
 {
  var linkTitle = items[i].getElementsByTagName("title")[0].firstChild.nodeValue;
  var title = "<a href=''#'' class=''title'' onclick=''Aggregator.DisplayFeed("+ this.id +", "+ i +");''>" + linkTitle +"</a>";
  this.titleArray.push(title);
  this.linkTitleArray.push(linkTitle);
  var _link = items[i].getElementsByTagName("link")[0].firstChild.nodeValue;
  this.linkArray.push(_link);
  var description = items[i].getElementsByTagName("description")[0].firstChild.nodeValue;
  this.descriptionArray.push(description);
  var pubDate = items[i].getElementsByTagName("pubDate")[0].firstChild.nodeValue;
  this.pubDateArray.push(pubDate);
 }
}

一旦我们把所有的值存储在数组中,当我们准备好显示页面中的数据时我们就能够使用它们。这个对象中的第三个方法集中于显示回馈中的数据:

· GetTitle负责得到回馈标题(作为一个切换项标题的链接,通过调用Aggregator的toggleTitles方法来实现)。

· GetAllTitles简单地从回馈中返回所有的项标题。

· GetDetails负责实现显示该回馈所有的细节。这个方法基于作为一个参数传递的ID检索Feed对象的数组中的值。然

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号