首页 | 博客群 | 公社 | 专栏 | 论坛 | 图片 | 资讯 | 注册 | 帮助 | 博客联播 | 随机访问
第一篇工作日记- -| 回首页 | 2005年索引 | - -ASP数据库语法总结

简单RSS阅读器(网页版)

关键词RSS阅读器                                          

      这个阅读器非常简单,简单的我觉得都不应该称之为RSS阅读器。
      前一段时间,一时心血来潮了解了一些RSS的东西,觉得这个东西非常方便,也非常有用,很好的解决了像我这种懒人看新闻等事情的一些麻烦事情,于是决定使用RSS。后来用了几种不同的RSS阅读器,比如看天下,周博通等,虽然他们还算非常好,但用起来各有个的不方便之处,于是有了想自己写一个阅读器的想法。不过还是比较懒,先到网上找代码,并没有找到,以为RSS这东西是新技术,可能会比较难,一时间想放弃。不过,兴趣驱动,让我没有放弃,经过一翻资料的查找,对RSS技术有了了解之后,发现这东西也很简单,一开始我只是被所谓的先进技术给吓住了。最后,写了一个非常简单的阅读器,其实就是简单的xml解析。后面附代码,因为没有时间搞复杂的了,就只能这样了。
      代码使用javascript谢的网页,需要一些Activex控件的支持。
     <html>
    <head>
    <script language="JavaScript">
    <!--

    var url;
    var xmlHTTP;
    var orderDoc;
    var items;
    var i;
    var index=0;

    setTimeout('this.location.reload();',600000);

    function initXML(index){
 setChannel(index);
 xmlHTTP = new ActiveXObject("MSXML2.XMLHTTP");
 xmlHTTP.open("GET",url,false);
     xmlHTTP.send();
 orderDoc=xmlHTTP.responseXML;
 items = orderDoc.selectNodes("/rss/channel/item");
 i=items.length;
 getDataNext();
    }

    function getNode(doc, xpath) {
      var retval = "";
      var value = doc.selectSingleNode(xpath);
      if (value) retval = value.text;
      return retval;
    }

    function openLink(){
 var link = getNode(orderDoc, "/rss/channel/item[" + i + "]/link");
 window.open(link,"_blank");
    }   

    function setChannel(index){
 switch (index) {
    case 0 :
         url="http://rss.sina.com.cn/news/marquee/ddt.xml";
  break;
    case 1 :
         url="http://rss.sina.com.cn/sports/basketball/nba.xml";
  break;
 case 2 :
  url="http://www.blogchina.com/xml/4_rss2.xml";
  break;
 case 3 :
  url="http://rss.sina.com.cn/news/allnews/finance.xml";
  break;
    default :
  url="http://rss.sina.com.cn/news/marquee/ddt.xml";
 }

    }

    function getDataNext() {
       i--;
       if (i <0) {
    alert("已经是最后一条新闻了!");
    i++;
 }     
 var str =  getNode(orderDoc, "/rss/channel/item[" + i + "]/title");
 str= str+" "+(items.length-i)+"/"+items.length;
       document.forms[0].news.value = str;
    }

    function getDataPrev() {
      i++;
      if (i >items.length - 1) {
 alert("已经是第一条新闻了!");
 i--;
      }
       var str =  getNode(orderDoc, "/rss/channel/item[" + i + "]/title");
 str= str+" "+(items.length-i)+"/"+items.length;
       document.forms[0].news.value = str;
    }
   
     function keyDown() { 
      var keycode = event.keyCode 
      var realkey = String.fromCharCode(event.keyCode) 
      //alert("keycode: " + keycode + " realkey: " + realkey)
 if(keycode==39) getDataNext();
 if(keycode==37) getDataPrev();
 if(keycode==13) openLink();
    } 
    document.onkeydown = keyDown

    function document.onkeydown()
    {
 //if(window.event.ctrlKey)alert("Ctrl key pressed")
 if(window.event.enterKey)alert("Ctrl key pressed")
    }


    // -->
    </script>
  </head>

  <body onload="initXML(index)" topmargin=2 bottommargin=2 leftmargin=2 rightmargin=2>
  <form>
     <select name="channel" id="channel" onChange="javascript:initXML(this.selectedIndex)">
  
  <option selected value="0" >新浪新闻
  <option  value="1" >新浪篮球
  <option  value="2" >专栏文章
  <option  value="3" >财经焦点

 </select>
 <input type="text" name="news" size=55>
 <input type="button" value="阅" onClick="openLink();">
 <input type="button" value="<<" onClick="getDataPrev();"> 
 <input type="button" value=">>" onClick="getDataNext();">
 <input type="button" value="新" onClick="javascript:window.location.reload();">
  </form> 
  </body>
</html>

【作者: 古侯子】【访问统计:】【2005年09月30日 星期五 15:49】【注册】【打印

搜索

Google

Trackback

你可以使用这个链接引用该篇文章 http://publishblog.blogchina.com/blog/tb.b?diaryID=3083973

来自逐鹿流行榜逐鹿流行榜的引用:

逐鹿流行榜

博客手拉手

【RSS阅读器】
【置顶推荐】rss阅读器
新闻蚂蚁 - 我选择的RSS阅读器
用RSS阅读器传播和阅读新闻
常用RSS阅读器下载

回复

- 评论人:lijiping126   2008-07-27 20:37:15   

谢谢 博主的文章

验证码:   
评论内容: