Ajax 编写Rss阅读器

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>this is test</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
function XHConn()
{
  var xmlhttp, bComplete = false;
  try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }
  catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }
  catch (e) { try { xmlhttp = new XMLHttpRequest(); }
  catch (e) { xmlhttp = false; }}}
  if (!xmlhttp) return null;
  this.connect = function(sURL, sMethod, sVars, fnDone)
  {
    if (!xmlhttp) return false;
    bComplete = false;
    sMethod = sMethod.toUpperCase();

    try {
      if (sMethod == "GET")
      {
        xmlhttp.open(sMethod, sURL+ ((sURL.indexOf("?")==-1)? "?":"&") +sVars, true);
        sVars = "";
      }
      else
      {
        xmlhttp.open(sMethod, sURL, true);
        xmlhttp.setRequestHeader("Method", "POST "+sURL+" HTTP/1.1");
        xmlhttp.setRequestHeader("Content-Type",
          "application/x-www-form-urlencoded");
      }
      xmlhttp.onreadystatechange = function(){
        if (xmlhttp.readyState == 4 && !bComplete)
        {
          bComplete = true;
          fnDone(xmlhttp);
        }};
      xmlhttp.send(sVars);
    }
    catch(z) { return false; }
    return true;
  };
  return this;
}


function readRSS(url) {
var myConn = new XHConn();
if (!myConn) {alert("error");return;}
myConn.connect(url, "GET", "", ResultSet);
}
   

var ResultSet = function(obj)
{
    var results = obj.responseXML;
    var title = null;
    var item = null;
    var link=null;
    var author=null;
    var pubDate=null;
    var description=null;
    //得到channel
     var headtitle=results.selectSingleNode("rss/channel/title").text;
     var headlink=results.selectSingleNode("rss/channel/link").text;
     var cell = document.createElement("div");
        cell.innerHTML="<h1><a href="+headlink+" target=_blank>"+headtitle+"</a></h1><br/>";
        document.getElementById("result").appendChild(cell);
       //得到items
    var items = results.selectNodes("rss/channel/item");
    for(var i = 0; i < items.length; i++) {
        item = items[i];
        link=item.getElementsByTagName("link")[0].firstChild.nodeValue;
        title = item.getElementsByTagName("title")[0].firstChild.nodeValue;
        pubDate= item.getElementsByTagName("pubDate")[0].firstChild.nodeValue;
  author= item.getElementsByTagName("dc:creator")[0].firstChild.nodeValue;
       // description=item.getElementsByTagName("description")[0].firstChild.nodeValue;
        var cell = document.createElement("div");
        cell.innerHTML="<a href="+link+" target=_blank>"+title+"</a><font color=red>&nbsp &nbsp &nbsp作者:</font>"+author+"<br/>";
     
     
       document.getElementById("result").appendChild(cell);
       //var cell1=document.createElement("div");
       //cell1.innerHTML=description;
       // document.getElementById("result").appendChild(cell1);
    }

}
function readrss1()
{
    readRSS("http://blog.csdn.net/wl076/Rss.aspx");
}   
window.onload = readrss1;
</script>
</head>

<body>
  <form>
    <div id="result"></div>
  </form>
</body>
</html> 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个简单的使用AJAX制作动态网页阅读器的示例: 首先,我们需要一个包含文章内容的文本文件。这里我们假设这个文件名为“article.txt”,并且位于服务器的根目录下。 然后,我们需要一个HTML页面,用于显示文章内容和控制页面的翻页。这个页面可以包含一个“<div>”元素,用于显示文章内容,以及两个按钮,用于控制翻页。 接下来,我们需要使用JavaScript编写代码,通过AJAX从服务器请求文章内容,并将其显示在页面上。 示例代码如下: ```html <!DOCTYPE html> <html> <head> <title>动态网页阅读器</title> <script type="text/javascript"> //定义一个全局变量,用于保存文章内容 var article; //定义一个函数,用于从服务器请求文章内容 function loadArticle() { //创建一个XMLHttpRequest对象 var xhr = new XMLHttpRequest(); //定义一个回调函数,用于处理服务器返回的数据 xhr.onreadystatechange = function() { if (xhr.readyState == 4 && xhr.status == 200) { //将服务器返回的数据保存到全局变量中 article = xhr.responseText; //将文章内容显示在页面上 document.getElementById("article").innerHTML = article; } }; //向服务器发送请求 xhr.open("GET", "article.txt", true); xhr.send(); } //定义一个函数,用于向前翻页 function prevPage() { //TODO: 实现向前翻页的逻辑 } //定义一个函数,用于向后翻页 function nextPage() { //TODO: 实现向后翻页的逻辑 } </script> </head> <body onload="loadArticle()"> <div id="article"></div> <button onclick="prevPage()">上一页</button> <button onclick="nextPage()">下一页</button> </body> </html> ``` 在这个示例中,我们首先定义了一个全局变量“article”,用于保存文章内容。然后,我们编写了一个名为“loadArticle”的函数,用于从服务器请求文章内容,并将其保存到全局变量中。在页面加载完成后,我们通过调用“loadArticle”函数来请求文章内容,并将其显示在页面上。 接下来,我们定义了两个函数“prevPage”和“nextPage”,用于控制页面的翻页。这里我们只是简单地定义了这两个函数,具体的实现逻辑需要根据具体需求来编写。 最后,我们在HTML页面中添加了一个“<div>”元素,用于显示文章内容,以及两个按钮,用于控制翻页。通过调用“prevPage”和“nextPage”函数,我们可以控制页面的翻页。 需要注意的是,在实际开发中,我们需要考虑到各种异常情况,例如网络故障、服务器错误等,以及用户的操作习惯和体验,来编写更加健壮和友好的代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值