⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rss.html

📁 利用AJAX技术读取RSS网站示例(RSS阅读器)
💻 HTML
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="gb2312">
<head><title>RSS阅读器</title>
<meta http-equiv="content-type" content="text/html; charset=gb2312" />
<meta name="author" content="JackLong www.jacklong.cn" />
<link rel="stylesheet" href="main.css" type="text/css" media="all" />
<script type="text/javascript">
var xmlHttp;
function createXMLHttpRequest()
{
	//在IE下创建XMLHTTPRequest对象
	try
	{
		xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
	}
	catch(e)
	{
		try
		{
			xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		} 
		catch(oc)
		{
			xmlHttp = null;
		}
	}
	//在Mozilla和Safari下创建XMLHTTPRequest对象
	if(!xmlHttp && typeof XMLHttpRequest != "undefined") 
	{
		xmlHttp = new XMLHttpRequest();
	}
}
//获取RSS地址,调用异步请球函数
function showRSS()
{
var obj=document.getElementById("targeturl");
if(obj.value == "")
{
alert("请输入RSS地址!");
return false;
}
readRSS(obj.value);
}
//异步请求函数
function readRSS(url)
{
  createXMLHttpRequest();
  xmlHttp.onreadystatechange=handleStateChange;
  xmlHttp.open("GET",url,true);
  xmlHttp.send(null); 
  document.getElementById("content2").innerHTML="Loading...";
}
//回调函数
function handleStateChange() 
{
    if(xmlHttp.readyState == 4) 
	{
        if(xmlHttp.status == 200) 
		{
            
			clearPreviousResults();
            parseResults();
        }
		else
		{
			document.getElementById("content2").innerHTML="正在加载...";
		}
    }
	else
	{
		document.getElementById("content2").innerHTML="请稍等,正在查找相关资源!";
	}
}
//清除先前获取的信息
function clearPreviousResults() 
{
    var ListBody = document.getElementById("content2");
    while(ListBody.childNodes.length > 0) 
	{
        ListBody.removeChild(ListBody.childNodes[0]);
    }
}
//获取RSS文件的内容
function parseResults() 
{
    var results = xmlHttp.responseXML;
    var title = null;
    var content=null;
    var item = null;
    var url = null;

    var items = results.getElementsByTagName("item");
    for(var i = 0; i < items.length; i++) {
        item = items[i];
        title = item.getElementsByTagName("title")[0].firstChild.nodeValue;
        content=item.getElementsByTagName("description")[0].firstChild.nodeValue;
        url=item.getElementsByTagName("link")[0].firstChild.nodeValue;        
        addListRow(title,content,url);   
    }
}

//向div元素中添加节点
function addListRow(title,content,url) 
{
    var row = document.createElement("ul");
        //alert(url);
    var cell = createCellWithText(title,url);
    var contentcell=createCellWithContent(content);
    row.appendChild(cell);
    row.appendChild(contentcell);
    document.getElementById("content2").appendChild(row);
}
//创建标题节点
function createCellWithText(text,url)
{
    var cell = document.createElement("li");
    var textNode = document.createTextNode(text);
    
    var newAnchor = document.createElement("a");
    newAnchor.href = url;
    newAnchor.target="_blank";
    newAnchor.title="单击查看详细内容";
    newAnchor.appendChild(textNode);
    cell.appendChild(newAnchor); 
    return cell;
}
//创建详细内容节点
function createCellWithContent(content)
{
	var cell=document.createElement("text")
	var div=document.createElement("div");
	var span=document.createElement("span");
	span.innerHTML=content;
	div.appendChild(span); 
    cell.appendChild(div); 
    return cell;
}
</script>

</head>
<body onload="showRSS();">
<div id="content">
  <h2>RSS地址:</h2>
   <input type="text" id="targeturl" name="textfield" value="http://cn.engadget.com/rss.xml" />
    <input type="button" value="获取文章列表" onclick="showRSS();" />  
</div>
<div id="content2"></div>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -