在blogger加上最新文章
網路上可以找到蠻多種方法的,基本上我這個也是copy來的寫法
不過我作了一點小修改..
原本發現網路上找到的寫法幾乎都是全部的xml取回來,再由javascript取top幾篇來顯示
在參考了blogger API之後,了解其有提供參數可以直接指定取回的xml篇數
在文章數多的情形下,對網路的傳輸有明顯的差別
我的寫法如下:
重點就是其中的藍色的部份,blogger api有提供max-results這個參數
可以決定取回多少篇,當然在blogger api中還有很多參數,有興趣的可以自己去看
將上面這段放在blogger的網頁元素中的HTML/javascript部份裡
就會看到最新文章的項目
不過我作了一點小修改..
原本發現網路上找到的寫法幾乎都是全部的xml取回來,再由javascript取top幾篇來顯示
在參考了blogger API之後,了解其有提供參數可以直接指定取回的xml篇數
在文章數多的情形下,對網路的傳輸有明顯的差別
我的寫法如下:
language="JavaScript" />
function createXMLDom(){
if(window.ActiveXObject)
var xmldoc=new ActiveXObject("Microsoft.XMLDOM");
else if(document.implementation /> var xmldoc=document.implementation.createDocument("","doc",null);
xmldoc.async=true;
xmldoc.preserveWhiteSpace=true;
return xmldoc;
}
var createXMLHttp=function(){
var xmlHttp;
if(window.ActiveXObject)
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
else
xmlHttp=new XMLHttpRequest();
return xmlHttp;
}
/> id="newarticle" /> language="JavaScript" />var xmlFile="/feeds/posts/default?max-results=10";
var xmlDom=createXMLDom();
try{
xmlDom.load(xmlFile);
}catch(e){
var xmlHttp=createXMLHttp();
xmlHttp.onreadystatechange = function(){
if(xmlHttp.readyState == 4 ( xmlHttp.status == 200 || xmlHttp.status == 304 )){
xmlDom=xmlHttp.responseXML;
}else{
window.state="Loading XML";
}
}
xmlHttp.open("GET",xmlFile,false);
xmlHttp.send(null);
}
if(window.ActiveXObject)
xmlDom.onreadystatechange=function(){
if (xmlDom.readyState == 4) newarticle()
}
else
xmlDom.onload=newarticle;
function newarticle(){
var root = xmlDom.getElementsByTagName("feed")[0];
var title =root.getElementsByTagName("title")[0];
var blogName=title.firstChild.data;
var temp = ' id="Feed001_feedItemListDisplay" />var items=root.getElementsByTagName("entry");
for(i=0;i items.length; i++)
{
var item=items[i];
title=item.getElementsByTagName("title")[0];
link=item.getElementsByTagName("link")[0];
timestamp=item.getElementsByTagName("published")[0];
temp += ' class="item-title" href="'+link.getAttribute('href')+'" title.firstChild.nodeValue +' /> }
temp+=" /> document.getElementById("newarticle").innerHTML = temp;
}
/>
重點就是其中的藍色的部份,blogger api有提供max-results這個參數
可以決定取回多少篇,當然在blogger api中還有很多參數,有興趣的可以自己去看
將上面這段放在blogger的網頁元素中的HTML/javascript部份裡
就會看到最新文章的項目
留言