2008-10-21

Blogger繼續閱讀修正版

優點:不需要逐篇插入特殊的標記,會自動套用在整個Blog(懶人適用)

缺點:行數是固定的,所以沒有辦法每篇自訂中斷處


使用前說明:本程式碼是使用JavaScript去抓(換行標籤),每個就代表一行所以要確定你的文章裡面有足夠數量的,繼續閱讀才會成功 修改template(記得修改前請備份!!)


步驟1:在</b:skin>和</head>中間,插入以下程式碼


function hidePost(PostBodyId,postUrl)

{

var pbody = document.getElementById('PS_' + PostBodyId);

var tagbr = pbody.getElementsByTagName('br');

if (tagbr.length > 3){var britem = tagbr.item(3);

while (britem.nextSibling!=null){britem.parentNode.removeChild(britem.nextSibling);

}

britem.parentNode.appendChild(document.createElement("br"));eA = document.createElement("a");

eA.setAttribute("href",postUrl);

eA.setAttribute("title","繼續閱讀");

eA.appendChild(document.createTextNode("...繼續閱讀"));

eB = document.createElement("div");

eB.setAttribute("id","read-more");

eB.appendChild(eA);britem.parentNode.appendChild(eB);

}

}

<script type="text/javascript">function hidePost(PostBodyId,postUrl){var pbody = document.getElementById('PS_' + PostBodyId);

var tagbr = pbody.getElementsByTagName('br');

if (tagbr.length > 3)

{

var britem = tagbr.item(3);

while (britem.nextSibling!=null){britem.parentNode.removeChild(britem.nextSibling);

}

britem.parentNode.appendChild(document.createElement("br"));

eA = document.createElement("a");

eA.setAttribute("href",postUrl);

eA.setAttribute("title","繼續閱讀");

eA.appendChild(document.createTextNode("...繼續閱讀"));

eB = document.createElement("div");

eB.setAttribute("id","read-more");

eB.appendChild(eA);

britem.parentNode.appendChild(eB);

}

}

</script>


步驟2:找到以下的區塊


<div class='post-body entry-content'>

<data:post.body/>

<div style='clear: both;'/>


<!-- clear for photos floats -->

</div>


橘字請刪除

紅字部份用以下的程式碼取代:


<div class="post-body">

<div expr:id='"PS_"+ data:post.id'>

<data:post.body/>

</div>

<b:if cond='data:blog.pageType != "item"'>

<b:if cond='data:post.url'>

<script type='text/javascript'>hidePost

('<data:post.id/>','<data:post.url/>');

</script>

</b:if>

</b:if>

<div style='clear: both;'/>

</div>


步驟3:Save Template,Enjoy It


補充說明:前面的程式碼,預設是每篇會保留前四行要加大或縮小的話,請修改步驟1的程式碼:if (tagbr.length > 3){var britem = tagbr.item(3);把兩個數字'3'換成你要的行數即可

HEMiDEMi Technorati Del.icio.us MyShare個人書籤 Yahoo

2 意見:

kEI 提到...

真詳細,加入我的最愛XD,你沒有用GOOGLE廣告?

沙宣 提到...

我懶得查我的英文名字跟地址(其實是不知道去哪查XD)