用ajax自动加载blogjava和博客园的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>

<script type="text/javascript">

var xmlHttp;

function createXMLHttpRequest() {

if (window.ActiveXObject) {

xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");

}

else if (window.XMLHttpRequest) {

xmlHttp = new XMLHttpRequest();

}

}

function readRSS(url) {

createXMLHttpRequest();

xmlHttp.onreadystatechange = handleStateChange;

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

xmlHttp.send(null);

}

function handleStateChange() {

if(xmlHttp.readyState == 4) {

if(xmlHttp.status == 200) {

ResultSet();

}

}

}

function ResultSet() {

var results = xmlHttp.responseXML;

var title = null;

var item = null;

var link=null;

var author=null;

var pubDate=null;

var description=null;

//得到channel

var ccc=results.getElementsByTagName("channel");

var headtitle=ccc[0].getElementsByTagName("title")[0].firstChild.nodeValue;

var headlink=ccc[0].getElementsByTagName("link")[0].firstChild.nodeValue;

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.getElementsByTagName("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;

author=item.getElementsByTagName("author")[0].firstChild.nodeValue;

pubDate= item.getElementsByTagName("pubDate")[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()

{

var url=document.getElementById("txturl").value;

if(url=="")

{

alert("请输入RSS地址");

}

else

{

readRSS(url);

}

}

var i=1;

var j=0;

function read()

{

if(j==0)

{

readBlogjava();

window.setTimeout("testRead()",100);

}

}

function testRead()

{

window.setTimeout("read()",1000);

}

function readBlogjava()

{

switch(i)

{

case(1):

i++;

readRSS("http://www.blogjava.net/rss.aspx");

break;

case(2):

i++;

readRSS(’http://beginner.blogjava.net/rss.aspx’);

break;

case(3):

i++;

readRSS(’http://general.blogjava.net/rss.aspx’);

break;

case(4):

i++;

readRSS(’http://life.blogjava.net/rss.aspx’);

break;

//博客园的

case(5):

i++;

readRSS(’http://www.cnblogs.com/rss.aspx’);

break;

case(6):

i++;

readRSS(’http://beginner.cnblogs.com/rss.aspx’);

break;

case(7):

i++;

readRSS(’http://life.cnblogs.com/rss.aspx’);

break;

case(8):

i++;

readRSS(’http://misc.cnblogs.com/rss.aspx’);

break;

case(9):

i++;

readRSS(’http://cio.cnblogs.com/rss.aspx’);

break;

case(10):

i++;

readRSS(’http://news.cnblogs.com/rss.aspx’);

break;

case(11):

i++;

readRSS(’http://bookreview.cnblogs.com/rss.aspx’);

break;

case(12):

i++;

readRSS(’http://job.cnblogs.com/rss.aspx’);

break;

case(13):

i++;

readRSS(’http://gis.cnblogs.com/rss.aspx’);

break;

case(14):

i++;

readRSS(’http://clubs.cnblogs.com/rss.aspx’);

break;

case(15):

i++;

readRSS(’http://software.cnblogs.com/rss.aspx’);

break;

default:

alert("加载完毕!");

i++;

j++;

break;

}

}

</script>

</head>

<body onload=testRead()>

<h1>ajax读rss示例</h1>

<form >

输入一个RSS地址:<input type="text" value="http://www.blogjava.net/wujun/rss.aspx" size=50 id="txturl">

<input type="button" value="查 看" onclick="readrss1()">

<input type="button" onclick="hideobject()" value="test">

</form>

<div id="result"></div>

<EMBED style="POSITION: absolute;top:1px;left:1px; " align=right

src=http://www.nice.or.jp/~mosmos/free/f105.swf width=200 height=200

type=application/x-shockwave-flash ; quality="high" wmode="transparent"></EMBED>

</body>

</html>

(0)

相关推荐

  • Java中类的加载顺序剖析(常用于面试题)

    这其实是去年校招时我遇到的一道阿里巴巴的笔试题(承认有点久远了-.-),嗯,如果我没记错的话,当时是作为Java方向的一道选做大题.当然题意没有这么直白,题目只要求你写出程序运行后所有System.out.println的输出结果,其中程序是题目给的,而各个System.out.println的执行顺序不同会导致最后程序输出的结果也不同. 具体的题目我肯定记不清,不过我们可以换个直接的问法,如果类A和类B中有静态变量,静态语句块,非静态变量,非静态语句块,构造函数,静态方法,非静态方法,同时类A

  • Java类加载基本过程详细介绍

    Java类加载基本过程详细介绍 基本过程: 根据类的全限定名称加载定义类的二进制字节流. 将字节流代表的静态存储结构转化为方法区的运行时数据结构 内存中生成一个代表这个类的java.lang.Class对象,作为方法去这个类的各种数据访问入口 数组类本身不通过类加载器创建,由java虚拟机直接创建,数组类的元素类型由类加载器加载. 数组类的元素类型:数组去掉所有维度后的类型, 文件格式验证: 0xCAFEBABY 魔数开头: 主次版本号当前虚拟机可处理: 常量类型: 索引执行类型: utf8编码

  • Java窗体动态加载磁盘文件的实现方法

    在使用图形界面操作系统时,当打开一个文件夹系统会自动列出该文件夹下的所有文件及子文件夹.本实例实现了类似的功能:首先让用户选择一个文件夹,程序会动态列出该文件夹下的所有文件:如果该文件是隐藏文件,就在属性栏中显示"隐藏文件".要用到进度条来表示是否完成. 思路如下: 首先是视图层.JTextField.JButton.JScrollPane.JTable神马的就不用再提了,都是老盆友了,在这里因为要用到进度条,所以会有一个新盆友:JProgressBar控件.控件们自然是要作为成员变量

  • java Hibernate延迟加载

    示例数据表:team(班级).certificate(身份证).student(学生)Team.hbm.xml<?xml version="1.0" encoding="utf-8"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://hibernate.sourceforge.net/hiber

  • Java加载资源文件时的路径问题的解决办法

    加载资源文件比较常用的有两种: 一.用ClassLoader,说到这里就不得不提一下ClassLoader的分类,java内置的ClassLoader主要有三种, 第一种是根类加载器(bootstrap class loader),用C++来编写,负责将一些关键的Java类,如java.lang.Object和其他一些运行时代码先加载进内存中. 所负责加载的包:BootStrp------>JRE/lib/rt.jar 第二种是扩展类加载器(ExtClassLoader),由java类编写,负责

  • 解析Java和Eclipse中加载本地库(.dll文件)的详细说明

    最近在做的工作要用到本地方法,需要在Java中加载不少动态链接库(以下为方便延用Windows平台下的简写dll,但并不局限于Windows).刚刚把程序跑通,赶紧把一些心得写出来,mark.也希望对大家的类似工作有所帮助首先,应当明确,dll有两类:(1)Java所依赖的dll和,(2)dll所依赖的dll.正是由于第(2)种dll的存在,才导致了java中加载dll的复杂性大大增加,许多说法都是这样的,但我实验的结果却表明似乎没有那么复杂,后面会予以详细阐述.其次,Java中加载dll的方式

  • java类加载器和类反射使用示例

    一.一个命令对应一个进程. 当我们启动一个Java程序,即启动一个main方法时,都将启动一个Java虚拟机进程,不管这个进程有多么复杂.而不同的JVM进程之间是不会相互影响的.这也就是为什么说,Java程序只有一个入口--main方法,让虚拟机调用.而两个mian方法,对应的是2个JVM进程,启动的是两个不同的类加载器,操作的实际上是不同的类.故而不会互相影响. 二.类加载. 当我们使用一个类,如果这个类还未加载到内存中,系统会通过加载.连接.初始化对类进行初始化. 1.类加载:指的是将类的c

  • 浅谈Java中父类与子类的加载顺序详解

    复制代码 代码如下: class Parent {    // 静态变量    public static String p_StaticField = "父类--静态变量";    // 变量(其实这用对象更好能体同这一点,如专门写一个类的实例)     //如果这个变量放在初始化块的后面,是会报错的,因为你根本没有被初始化    public String p_Field = "父类--变量";    // 静态初始化块    static {        S

  • java中获取类加载路径和项目根路径的5种方式分析

    复制代码 代码如下: package my; import java.io.File; import java.io.IOException; import java.net.URL; public class MyUrlDemo { public static void main(String[] args) {         MyUrlDemo muDemo = new MyUrlDemo();         try {             muDemo.showURL();    

  • Java加载JDBC驱动程序实例详解

    本文实例说明了Java加载JDBC驱动程序的方法,运行本文实例代码后,如果连接成功就会显示如下一条语句:sun.jdbc.odbc.JdbcOdbcDriver@6ec12,如果连接不成功,则显示加载数据库驱动程序出现异常. Java加载JDBC的实现方法: 通过调用Class.forName()方法可以显式地加载一个驱动程序.该方法的入口参数为要加载的驱动程序.例如:Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")语句加载了SUN 公司开发的

随机推荐