RSS 阅读器用于阅读 RSS Feed。
在下面的实例中,我们将演示一个 RSS 阅读器,通过它,来自 RSS 的内容在网页不进行刷新的情况下被载入:
RSS-feed 数据列表...
当用户在上面的下拉列表中选择某个 RSS-feed 时,会执行名为 "showRSS()" 的函数。该函数由 "onchange" 事件触发:
<html>
<head>
<meta charset="utf-8">
<title>芝麻教程(web3.xin)</title>
<script>
function showRSS(str)
{
if (str.length==0)
{
document.getElementById("rssOutput").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{
// IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
xmlhttp=new XMLHttpRequest();
}
else
{
// IE6, IE5 浏览器执行代码
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("rssOutput").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","getrss.php?q="+str,true);
xmlhttp.send();
}
</script>
</head>
<body>
<form>
<select onchange="showRSS(this.value)">
<option value="">选择一个 RSS-feed:</option>
<option value="rss">读取 RSS 数据</option>
</select>
</form>
<br>
<div id="rssOutput">RSS-feed 数据列表...</div>
</body>
</html>
showRSS() 函数会执行以下步骤:
文件 rss_demo.xml。
上面这段通过 JavaScript 调用的服务器页面是名为 "getrss.php" 的 PHP 文件:
$xml = file_get_contents('/static/other/xml/rss_demo.xml');
$xml = simplexml_load_string($xml);
$xml = $xml->channel;
$html = '';
$html .= '<p><a href="'.$xml->link.'">'.$xml->title.'</a><br>'.$xml->description.'</p>';
foreach($xml->item as $v){
$html .= '<p><a href="'.$v->link.'">'.$v->title.'</a><br>'.$v->description.'</p>';
}
echo $html;
当 RSS feed 的请求从 JavaScript 发送到 PHP 文件时,将发生: