Labels

2008-03-16

Blog教學 - 繼續閱讀功能

Blogger原本預設是沒有繼續閱讀的功能
不過有時文章落落長時怎麼辨呢....
接來就就為大家介紹這個好用的功能...


這是我從網路上四處找來的
並非我自己寫出來的code
如原作覺得不妥請告知我會移除

我從網路上有看到2種方式...

方法1. 懶人包

一、特點:
1. 安裝簡易:不需懂程式、html語法,只要點點滑鼠、複製貼上即可使用
2. Auto縮文模式:自動套用在整個blog,不需逐篇插入標記(懶人適用)
二、功能介紹:
1.提供 三種 縮文(繼續閱讀)模式:
* Auto模式:自動以行數(br)縮文
* Custom模式:使用者自行插入特殊標記(標記格式可自訂),由標記處開始縮文
* Mix模式:混合Auto和Custom模式(若有特殊標記,則由標記處縮文,若沒有特殊標記,則按照行數自動縮文)
2.提供 兩種 繼續閱讀連結樣式:
* 直接連結:點選「繼續閱讀」,直接連到文章全文
* 展開/收合:點選「繼續閱讀」,原處 展開/收合 隱藏的內容
3.可設定各頁面(首頁、標籤(tag)分類頁、blog存檔(archive)頁)的文章顯示方式:
* 全文:不做縮文動作
* 摘要:縮文,並顯示繼續閱讀連結
* 標題:只顯示標題
4.快速切換按鈕:
自動產生 全文|摘要|標題 的連結按鈕,可點選並快速切換檢視方式(按鈕名稱、擺放位置可自訂)

安裝方式詳見原作網站...
http://cjhtech.blogspot.com/2007/02/blogger-3-htmlfor-blogger.html


方法2. 自行打code進去..

方法二也是我所用的方式...
以下轉載自Chagg's 嘴砲日記

一般在blogger上使用繼續閱讀功能的方式都是在想要隱藏的文章上放上tag,然後再利用css的display:none來隱藏該篇文章,由於display:none所隱藏的部份,不論是在IE或是Firefox下瀏覽,一樣都會把隱藏部份下載到cache,所以如果首頁的文章過長或是圖片過多,一樣會影響到首頁的瀏覽速度。

所以這篇利用Javascipt,把想要隱藏的文章直接remove掉,提高首頁的讀取效率,並且還具有Read More標籤適時才出現的功能。
首先進入編輯html,請記得把Expand Widget Templates(即"展開小裝置範本")打勾,然後在<head>間放入Javascript code如下:

<script type="text/Javascript">
function hidePost(postUrl)
{
var label=document.getElementById("fullpost");
if(label!=null){
eA = document.createElement("a");
eA.setAttribute("href",postUrl);
eA.setAttribute("title","Read More");
eA.appendChild(document.createTextNode("...Read More"));
eB = document.createElement("p");
eB.setAttribute("id","read-more");
eB.appendChild(eA);
label.parentNode.appendChild(eB);
label.parentNode.removeChild(label);}
}
</script>


藍色字部字可以行修改

接下來找到

<p><data:post.body/></p>


以下列的程式碼取代

<p><data:post.body/></p>
<b:if cond='data:blog.pageType != "item"'>
<b:if cond='data:post.url'>
<script type='text/javascript'>hidePost('<data:post.url/>');</script>
</b:if>
</b:if>


最後...在編輯文章時以下面這段code把要隱藏的部份夾起來...

<div id="fullpost"> //隱藏部分的文章 </div>


可以用css控制read more標籤,置左置右、字型或是超連結...等等..

#read-more{.....}
#read-more a {.....}


目前測試,在IE下確實有提升讀取效率,不過在Firefox下好像沒什麼用,照樣還是把隱藏部份下載到cache







0 意見: