很久之前,在別人的Blog看到了詳見全文(繼續閱讀)的方法,很實用。
不過卻有小缺點,就是無法控制要不要出現繼續閱讀的設定,例如文章內容不夠多,短短幾行,就不需要出現。
忘了是在哪邊取的的程式碼,在此說明我不是原創,我是加以改良(紅色字體部份,是我自己寫的),如果有誰知道原創者,可以跟我,我再補充上出處來源及連結。
在編輯模版之前,建議先儲存一份模版。另外,也建議你更換一個程式後,先用預覽,看看是否有問題。
Step1: 首先,將 程式1,程式2 放在
程式1: 用來設定CSS
程式2: 用來判斷是否要出現 詳見全文 的連結
Step2: 找到
和
把這三行之間程式內容(包括這三行)替換成 程式3
程式3: blogger中,顯示文章內容的程式碼
Step3: 避免點選較舊文章 可能會失效的情況。
找到以下程式碼,將以下刪除線的部份,從程式裡移除掉。
移除前後得差別在於,點選較 新的文章/較舊的文章 ,瀏覽器顯示的網址,不再是 http://yorblogname.blogspot.com,而是網址加上一大串的參數。
yorblogname:你的部落格名稱
Step4: 可以在 blogger的 設定/格式 中,填入以下內容,當每次要寫新文章時候,就會預設出現,不用自己再key 一遍。
我改寫的部份,其實就是判斷文章內容是否有出現 fullpost這個字,如果有的話,表示有使用到 <span class="fullpost">,則就應該要出現改良詳見全文的連結。
不過卻有小缺點,就是無法控制要不要出現繼續閱讀的設定,例如文章內容不夠多,短短幾行,就不需要出現。
忘了是在哪邊取的的程式碼,在此說明我不是原創,我是加以改良(紅色字體部份,是我自己寫的),如果有誰知道原創者,可以跟我,我再補充上出處來源及連結。
在編輯模版之前,建議先儲存一份模版。另外,也建議你更換一個程式後,先用預覽,看看是否有問題。
Step1: 首先,將 程式1,程式2 放在
</head>
之前。程式1: 用來設定CSS
<b:if cond='data:blog.pageType == "item"'>
<style type='text/css'>
span.fullpost {display:inline;}
</style>
<b:else/>
<style type='text/css'>
span.fullpost {display:none;}
</style>
</b:if>
程式2: 用來判斷是否要出現 詳見全文 的連結
<script type='text/javascript'>
function hidePost(PostId,PostUrl) {
var Post = document.getElementById("hidePost-"+PostId);
var PostContent = Post.innerHTML;
if(PostContent.indexOf("fullpost")!=-1){
Post.innerHTML="<br/><span><a href='"+PostUrl+"'> 詳見全文... </a></span>";
}else{
Post.innerHTML="";
}
}
</script>
Step2: 找到
<div class='post-header-line-1'/>
和
<div style='clear: both;'/> <!-- clear for photos floats -->
</div>
把這三行之間程式內容(包括這三行)替換成 程式3
程式3: blogger中,顯示文章內容的程式碼
<div class='post-header-line-1'/>
<div class='post-body'>
<b:if cond='data:blog.pageType == "item"'>
<data:post.body/>
<b:else/>
<data:post.body/>
<span expr:id='"hidePost-" + data:post.id'><data:post.body/></span>
<script type='text/javascript'>
hidePost('<data:post.id/>','<data:post.url/>');
</script>
</b:if>
<div style='clear: both;'/> <!-- clear for photos floats -->
</div>
Step3: 避免點選較舊文章 可能會失效的情況。
找到以下程式碼,將以下刪除線的部份,從程式裡移除掉。
移除前後得差別在於,點選較 新的文章/較舊的文章 ,瀏覽器顯示的網址,不再是 http://yorblogname.blogspot.com,而是網址加上一大串的參數。
yorblogname:你的部落格名稱
<b:if cond='data:newerPageUrl'>
<span id='blog-pager-newer-link'>
<a class='blog-pager-newer-link' expr:href='data:newerPageUrl' expr:id='data:widget.instanceId + "_blog-pager-newer-link"' expr:title='data:newerPageTitle'><data:newerPageTitle/></a>
</span>
</b:if>
<b:if cond='data:olderPageUrl'>
<span id='blog-pager-older-link'>
<a class='blog-pager-older-link' expr:href='data:olderPageUrl' expr:id='data:widget.instanceId + "_blog-pager-older-link"' expr:title='data:olderPageTitle'><data:olderPageTitle/></a>
</span>
</b:if>
Step4: 可以在 blogger的 設定/格式 中,填入以下內容,當每次要寫新文章時候,就會預設出現,不用自己再key 一遍。
文章摘要的部分
<span class="fullpost">這裡是要隱藏的部分</span>
我改寫的部份,其實就是判斷文章內容是否有出現 fullpost這個字,如果有的話,表示有使用到 <span class="fullpost">,則就應該要出現改良詳見全文的連結。
留言
還是你寄給我你修改後的程式碼,我幫你檢查看看 dinghaw@gmail.com
不知道是什麼原因?謝謝
我使用IE 是可以使用
可以給我你的程式碼 嗎?
我幫你找看看原因
會不會跟我使用的版型有關?
請問是哪些程式碼 找不到?
如果你之前就沒有 修改成繼續閱讀的程式碼 那就找不到相關的程式碼
(因為我沒有看到你有使用繼續閱讀的功能)
你可以重頭 使用我的方法試看看 不行再跟我說 我再幫你找看看原因
還有喔 要記得將
展開小裝置範本 打勾
才會出現所有的程式碼喔
(聽說是好幾天,看來我"高一"程式設計被當不是假的,"高二"是老師高抬貴手...最後,那不過是最簡單的VB 6.0)
都出現什麼錯誤的XML(這是啥?),會不會我用的套裝版面比較難搞阿(從Free Blogger Templates抓的)~囧
依著您的教學步驟,我將程式碼都放進去了,
也能在首頁顯現出我只想顯現的部份;但,卻無法出現「詳見全文...」的字樣----檢查後發現,原來是程式碼2中的雙引號「"」在儲存後都會變成「"」這種樣式,不知是否我的使用方法有誤?謝謝!
我不懂程式语言,多长的帖子才会显示详见全文呢??
缸溫喔~
我將 程式2
if(PostContent.indexOf("class=\"fullpost\"")!=-1){
改為
if(PostContent.indexOf("fullpost")!=-1){
你先try看看
有問題 跟我說一下
沒有限制字數長度,
只有寫在< span class="fullpost" > 及 < /span >
之間的文字 不會被顯示
其餘都會在首頁中顯示
謝謝你的使用....
有空多多交流喔
之前使用的方法會始點選舊文章時失去
繼續閱讀功能,現在不會了~
不過,每一篇的隱藏TAG部分(之前使用DIV)就要重新修改,要不然也會失效
你先把錯誤訊息 寄e-mail給我
我幫你看看
dinghaw@gmail.com
也看了留言的意見的人的問題,
修改了程式2的code,
但是還是沒有成功出現"詳見全文"的東東呢?
我想請問一下 我貼上你給的語法後 在"繼續閱讀"和文章摘要的之間 左邊的位置有一個小點 像這樣' 請問要怎麼把他去除呢?
謝謝囉
請問你的網站是這個嗎?
我在這個網站 沒有看到這個情形...
http://pourepanchermoncoeur.blogspot.com/
那只是我當時轉用blogger小小的修改,很多不完美的地方,沒想到mr.j已經改成這麼漂亮的了,真厲害!!
原始網址:http://kuenwei.blogspot.com/2007/09/tech-blogger.html
我有仔細去看過你寫的程式
很不錯喔~
不過~當初我看到的應該不是來自於你寫的
我找到的 繼續閱讀 應該是2007年5月過後,在網路上找到後使用的..看到你文章發表日期是在9月份
另外..你是直接 使用程式,讓部分程式隱藏..點擊連結後後.跳到原本網頁續接部份..
我找到的是必須還要呼叫javascript : hidePost() ,且是用
<span class="fullpost"> 來包起來所要隱藏的內容,直接顯示全頁,不會跳到續接部份..
剛好 是兩種不同寫法..但是都是不錯的寫法
你可以在多想想喔~
謝謝你的分享喔~~
如果你有遇到
錯誤訊息:Your template is invalid because the tag 'div' appears inside of the tag 'head'.
有可能最近blogger對於 htaml tag比較要求
所以要先將可能會出問題的地方 換成 unicode
請看文章中 程式2: 用來判斷是否要出現 詳見全文 的連結
我有新增解決方法
若出現'div'錯誤訊息,
那就把詳見全文那段的div和/div換成span和/span就可以成功囉...^^
原來這樣就可以解決阿
你提的解決方法比較簡單
真是太好了 感謝喔
我發現我看了好幾次後還是看不太懂要怎麼更改耶;
嘗試去更改也都不能成功。
唉,我天資不夠聰穎,真是不好意思。
:P