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 文件时,将发生: