思路和技術背景
思路很單純,直接用XMLHTTP讀出Blog的RSS文件,取出最新的文章插入到提前准備好的Html Tag中即可。
XMLHTTP是微軟上世紀為自己的Web應用的某些效果發明的技術,去年大喇叭們給這種技術(其實是效果)起了個新名字叫AJax,用來贊美Google的幾個Web應用,卻把微軟扔一邊了。隨著微軟、Firefox和Opera把XMLHTTP集成到各自的浏覽器中,web開發者不需要讓用戶下載ActiveX,只需要用喜歡的Web腳本直接調用即可,AJax效果開始得以普及。
原始代碼
<h3 class="listtitle">最新文章 <span>(<a href="http://blog.donews.com/concorde/archive/2006/02/15/727247.ASPx">如何實現?</a>)</span></h3>
<ul class="list" id="my_last_post"></ul><ul class="list"><li>
<script type="text/Javascript"><!--
var XMLhttp = false;
function load_rss()
{
XMLhttp = false;
if (window.XMLHttpRequest)
{
xmlhttp = new XMLHttpRequest();
if (XMLhttp.overrideMimeType)
{
xmlhttp.overrideMimeType('text/XML');
}
}
else if (window.ActiveXObject)
{
try
{
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e)
{
}
}
}
if(!XMLhttp)
{
return;
}
XMLhttp.onreadystatechange = proc_rss;
XMLhttp.open('GET', '/concorde/rss.ASPx', true);
XMLhttp.send(null);
}
function proc_rss()
{
if (XMLhttp.readyState == 4)
{
if (XMLhttp.status == 200)
{
var items = xmlhttp.responseXML.getElementsByTagName('item');
function get_item(items, id)
{
var link = items[id].getElementsByTagName('link').item(0).firstChild.nodeValue;
var title = items[id].getElementsByTagName('title').item(0).firstChild.nodeValue;
var item = '<li class="listitem"><a href="' + link + '">' + title + '</a></li>';
return item;
}
load_rss();
file://-->
</script>