最新留言 (Sidebar, 留言欄)

Sidebar
<style>
    #RecentComments p { font-size:1em; }
    #RecentComments a.s { font-size:0.8em; }
</style>
<script type="text/javascript">
    function recentcomments(json) {
        var d = document.getElementById('RecentComments');
        var author, content, url;
        for (var i = 0, l = json.feed.entry.length; i < l; i++) {
            author = (json.feed.entry[i].author[0].name.$t == 'Anonymous') ? '你是誰' : json.feed.entry[i].author[0].name.$t;
            url = json.feed.entry[i].link[2].href;
            content = (json.feed.entry[i].title.$t.length > 14) ? json.feed.entry[i].title.$t.substring(0, 14) + '<a class="s" href="' + url + '">(略)</a>' : json.feed.entry[i].title.$t;
            var r = document.createElement('p');
            r.innerHTML = '<a href="' + url + '">' + author + '</a> 說: <br />' + content;
            d.appendChild(r);
        }
    }
</script>
<div id="RecentComments"></div>
<script src="/feeds/comments/default?max-results=5&alt=json-in-script&callback=recentcomments"></script>

留言欄
//方法1 (判斷nodeType等於TEXT_NODE)
var ca=document.getElementsByClassName('comment-author');
for(var i=0;i<ca.length;i++)
{
    for(var j=0;j<ca[i].childNodes.length;j++)
        if((ca[i].childNodes[j].nodeType ==3) && (ca[i].childNodes[j].nodeValue.indexOf('匿名') != -1))
            ca[i].childNodes[j].nodeValue=ca[i].childNodes[j].nodeValue.replace('匿名','不知道是誰');
}
//方法2 (使用textContent屬性,IE不支援)
var ca=document.getElementsByClassName('comment-author');
for(var i=0;i<ca.length;i++)
    if(ca[i].textContent.indexOf('匿名') != -1)
        ca[i].textContent=ca[i].textContent.replace('匿名','不知道是誰');

JSON Feeds - Beautiful Beta
Blogger Feed 大全 « Centrifuge
Abin's Tech Note: 「最新回應」模組 (Recent Comments)
XML DOM - Node Types