2014年11月10日

[小工具]Blogger 數字分頁導覽 + Ajax 動態頁面載入效果

[小工具]Blogger 數字分頁導覽 + Ajax 動態頁面載入效果

Wayne Fu 0 A+
網站使用數字分頁功能,來方便訪客跳頁尋找、閱讀文章,這是各大網站很常見的設計。但 WFU BLOG 一直以來未採用,原因有二:

1. 如果不瞭解 Blogger 的機制,裝了這樣的外掛一定抱怨連連,請參考「Blogger官方自動分頁機制」,分頁的狀況常常會不如預期。

2. 本站屬於「資訊提供」的性質,訪客有七成來自搜尋引擎,主要目的為尋求問題的解答,平均停留頁數少,比不上旅遊、美食、心情抒發、插畫等等諸多類型的網站,訪客比較有輕鬆的心情進行跳頁式的閒逛。

不過最近一個案子需要分頁功能,且相信很多網站還是需要數字分頁的導覽效果,因此發佈此項研究成果。另外這個小工具能在跳頁時,頁面使用 Ajax 動態載入,算是獨家功能。以下先進行功能介紹,想直接安裝請跳至「二、準備動作」。





一、分頁歷史與功能介紹


1. 歷史

找資料的過程才發現,原來 Blogger 分頁功能的歷史還滿精彩的,有不少掠奪著作權的進程,對故事有興趣可參考「FreeTong DIY」這篇介紹。

另外曾在「為何部落格最好避免第三方外掛?」→「六、程式有問題」→「2. 程式有木馬」提醒過讀者,現在發現這篇「《姆奈》MKnight」的第一則外國人留言,就是那個被 Google 查封的著名分頁功能作者。

這個外國作者其網站當初算是最大宗的 "Blogger 分頁工具" 輸出地,現在已經被標示為「惡意軟體網站」,只能再次提醒讀者,隨意找網路上的程式安裝到自己部落格,不小心就會替自己埋未爆彈。


2. 基本功能

分頁功能的演算法還滿瑣碎的,不得不感謝前人已經造好輪子,WFU 的工作就是把交通工具美化就好。本篇採用的程式碼出自「Helplogger」,這個版本比其他分頁工具好的地方有:
  • 部落格文章沒有 500 篇的限制
  • 不需讀取整個部落格的文章來載入、速度較快
  • 標籤頁面也能執行


3. 改造功能

因已習慣「Javascript 設計模式」的撰寫模式,將原始碼修改甚多,也增加新的功能,大致如下:
  • 程式碼全部動態執行、不拖慢網頁執行速度
  • 跳頁不必重新整理頁面,採 ajax 動態載入 → 讀者可以感受一下 "光速載入" 的效果,對訪客是非常友善的閱覽體驗
  • 原版本若要讓標籤頁面也能執行分頁功能,必須手動修改 Blogger 範本各處相關程式碼,此版本由程式自動執行。
  • 刪除全域變數及不必要的程式碼




二、準備動作


1. jQuery

在修改範本之前,如果第一次安裝本站工具的讀者,建議先閱讀「備份範本的訣竅」系列文章。

請到後台「範本」→「編輯 HTML」,搜尋 </head> 這個字串,找到後在此字串的前一行,插入以下程式碼:

<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js'></script>
<style>
/* 數字分頁 */
#blog-pager{
clear:both;
margin:30px auto;
text-align:center;
padding: 7px;
}
.blog-pager {
background: none;
}
#blog-pager > span {
margin-bottom: 10px;
}
.displaypageNum a,.showpage a,.pagecurrent{
display: inline-block;
font-size: 14px;
padding: 5px 12px;
margin-right:5px;
color: #666;
background-color:#eee;
}
.displaypageNum a:hover,.showpage a:hover, .pagecurrent{
background:#359BED;
text-decoration:none;
color: #fff;
}
#blog-pager .pagecurrent{
font-weight:bold;
color: #fff;
background:#359BED;
}
.showPageOf{
display:none!important
}
#blog-pager .pages{
border:none;
}
</style>

第一行可參考「引用 jQuery 的注意事項」,檢查範本是否已安裝過 jquery,以免重複安裝。


2. CSS 樣式

以上 style 區間的 CSS 樣式除了可自行修改,原作者也提供了多種樣式,如下圖:



可參考原文網站「Helplogger」來自行置換 CSS 樣式的程式碼。而如果熟悉 CSS 的話,其實色碼自己改一改就行了。


3. 注意事項

正式安裝之前仍有兩件事項需要注意:

  • 這個工具必須讀取部落格的 feed,因此公開的部落格才能正常執行,請檢查後台 → 設定 → 其他 → 允許網誌資訊提供 → 是否為「完整」
  • 後台設定每頁顯示的文章數,必須與小工具的設定一致,請檢查後台 → 設定 → 文章和留言 → 最多顯示 → 這裡的數字請與小工具的參數吻合。



三、安裝程式碼


接著請搜尋 </body> 這個字串,找到後在此字串的前一行,插入以下程式碼:

  1. <!-- 數字分頁 + Ajax 動態載入 start-->
  2. <script>//<![CDATA[
  3. var pageNav = {
  4. perPage: 5, // 每頁顯示的文章數
  5. numPages: 5, // 要顯示數字的按鈕數量
  6. ajax: "Y", // 頁面是否動態載入, 不要則改成 "N"
  7. firstText: "First",
  8. lastText: "Last",
  9. prevText: "« Previous",
  10. nextText: "Next »"
  11. };
  12. pageNav.urlActivePage="";pageNav.homePage="/";pageNav.noPage=0;pageNav.currentPage=0;pageNav.currentPageNo=0;pageNav.postLabel="";pageNav.loopPage=function(pageInfo){var pageNumber=parseInt(pageNav.numPages/2),pageStart=pageNav.currentPageNo-pageNumber,lastPageNo=parseInt(pageInfo/pageNav.perPage)+1,pageEnd=pageStart+pageNav.numPages-1,prevNumber=parseInt(pageNav.currentPageNo)-1,html="",i,nextNumber;if(pageNumber==pageNav.numPages-pageNumber){pageNav.numPages=pageNumber*2+1}if(pageStart<1){pageStart=1}if(lastPageNo-1==pageInfo/pageNav.perPage){lastPageNo=lastPageNo-1}if(pageEnd>lastPageNo){pageEnd=lastPageNo}html+="<span class='showPageOf'>Page "+pageNav.currentPageNo+" of "+lastPageNo+"</span>";if(pageNav.currentPageNo>1){if(pageNav.currentPage=="page"){html+='<span class="showpage"><a href="'+pageNav.homePage+'">'+pageNav.firstText+"</a></span>"}else{html+='<span class="displaypageNum"><a href="/search/label/'+pageNav.postLabel+"?&max-results="+pageNav.perPage+'">'+pageNav.firstText+"</a></span>"}}if(pageNav.currentPageNo>2){if(pageNav.currentPageNo==3){if(pageNav.currentPage=="page"){html+='<span class="showpage"><a href="javascript:" onclick="pageNav.redirect('+prevNumber+')">'+pageNav.prevText+"</a></span>"}else{html+='<span class="displaypageNum"><a href="/search/label/'+pageNav.postLabel+"?&max-results="+pageNav.perPage+'">'+pageNav.prevText+"</a></span>"}}else{if(pageNav.currentPage=="page"){html+='<span class="displaypageNum"><a href="javascript:" onclick="pageNav.redirect('+prevNumber+')">'+pageNav.prevText+"</a></span>"}else{html+='<span class="displaypageNum"><a href="javascript:" onclick="pageNav.redirect('+prevNumber+')">'+pageNav.prevText+"</a></span>"}}}if(pageStart>1){if(pageNav.currentPage=="page"){html+='<span class="displaypageNum"><a href="'+pageNav.homePage+'">1</a></span>'}else{html+='<span class="displaypageNum"><a href="/search/label/'+pageNav.postLabel+"?&max-results="+pageNav.perPage+'">1</a></span>'}}if(pageStart>2){html+=" ... "}for(i=pageStart;i<=pageEnd;i++){if(pageNav.currentPageNo==i){html+='<span class="pagecurrent">'+i+"</span>"}else{if(i==1){if(pageNav.currentPage=="page"){html+='<span class="displaypageNum"><a href="'+pageNav.homePage+'">1</a></span>'}else{html+='<span class="displaypageNum"><a href="/search/label/'+pageNav.postLabel+"?&max-results="+pageNav.perPage+'">1</a></span>'}}else{if(pageNav.currentPage=="page"){html+='<span class="displaypageNum"><a href="javascript:" onclick="pageNav.redirect('+i+')">'+i+"</a></span>"}else{html+='<span class="displaypageNum"><a href="javascript:" onclick="pageNav.redirect('+i+')">'+i+"</a></span>"}}}}if(pageEnd<lastPageNo-1){html+="..."}if(pageEnd<lastPageNo){if(pageNav.currentPage=="page"){html+='<span class="displaypageNum"><a href="javascript:" onclick="pageNav.redirect('+lastPageNo+')">'+lastPageNo+"</a></span>"}else{html+='<span class="displaypageNum"><a href="javascript:" onclick="pageNav.redirect('+lastPageNo+')">'+lastPageNo+"</a></span>"}}nextNumber=parseInt(pageNav.currentPageNo)+1;if(pageNav.currentPageNo<(lastPageNo-1)){if(pageNav.currentPage=="page"){html+='<span class="displaypageNum"><a href="javascript:" onclick="pageNav.redirect('+nextNumber+')">'+pageNav.nextText+"</a></span>"}else{html+='<span class="displaypageNum"><a href="javascript:" onclick="pageNav.redirect('+nextNumber+')">'+pageNav.nextText+"</a></span>"}}if(pageNav.currentPageNo<lastPageNo){if(pageNav.currentPage=="page"){html+='<span class="displaypageNum"><a href="javascript:" onclick="pageNav.redirect('+lastPageNo+')">'+pageNav.lastText+"</a></span>"}else{html+='<span class="displaypageNum"><a href="javascript:" onclick="pageNav.redirect('+lastPageNo+')">'+pageNav.lastText+"</a></span>"}}$("#blog-pager").html(html);$(".displaypageNum a, .showpage a").click(function(){var $this=$(this),href=$this.attr("href");if(href.search("/")>-1){$(this).attr("href","javascript:");pageNav.redirect(href);return false}});var _0x5ad6=["\x72\x20\x32\x3D\x24\x28\x22\x2E\x38\x2D\x68\x22\x29\x5B\x30\x5D\x2C\x65\x3D\x28\x34\x2E\x35\x29\x3F\x28\x34\x2E\x35\x28\x32\x29\x2E\x36\x3D\x3D\x22\x33\x22\x29\x3F\x30\x3A\x31\x3A\x28\x32\x2E\x39\x26\x26\x32\x2E\x39\x2E\x36\x3D\x3D\x22\x33\x22\x29\x3F\x30\x3A\x31\x2C\x62\x3D\x28\x21\x65\x29\x3F\x22\x3C\x63\x20\x64\x3D\x27\x42\x3A\x20\x4B\x3B\x27\x3E\x3C\x61\x20\x69\x3D\x27\x6A\x3A\x2F\x2F\x6B\x2E\x6C\x2E\x6D\x2F\x6F\x2F\x70\x2F\x71\x2D\x67\x2D\x73\x2D\x74\x2E\x75\x27\x20\x76\x3D\x27\x77\x27\x20\x64\x3D\x27\x78\x2D\x79\x3A\x20\x33\x3B\x20\x7A\x3A\x20\x23\x41\x3B\x20\x66\x2D\x43\x3A\x20\x44\x2C\x20\x45\x2C\x20\x46\x2D\x47\x3B\x20\x66\x2D\x48\x3A\x20\x49\x3B\x27\x20\x4A\x3D\x27\u6578\u5B57\u5206\u9801\u5C0E\u89BD\x20\x2B\x20\x37\x20\u52D5\u614B\u8F09\u5165\x5C\x6E\u7A0B\u5F0F\u8A2D\u8A08\uFF1A\x4C\x20\x4D\x27\x3E\u24E6\x20\x37\x20\x4E\x20\x4F\x3C\x2F\x61\x3E\x3C\x2F\x63\x3E\x22\x3A\x22\x22\x3B\x24\x28\x22\x23\x38\x2D\x50\x22\x29\x2E\x51\x28\x62\x29\x3B","\x7C","\x73\x70\x6C\x69\x74","\x7C\x7C\x68\x6F\x73\x74\x7C\x6E\x6F\x6E\x65\x7C\x77\x69\x6E\x64\x6F\x77\x7C\x67\x65\x74\x43\x6F\x6D\x70\x75\x74\x65\x64\x53\x74\x79\x6C\x65\x7C\x64\x69\x73\x70\x6C\x61\x79\x7C\x41\x6A\x61\x78\x7C\x62\x6C\x6F\x67\x7C\x63\x75\x72\x72\x65\x6E\x74\x53\x74\x79\x6C\x65\x7C\x7C\x69\x6E\x66\x6F\x7C\x64\x69\x76\x7C\x73\x74\x79\x6C\x65\x7C\x63\x68\x65\x63\x6B\x7C\x66\x6F\x6E\x74\x7C\x6E\x75\x6D\x62\x65\x72\x7C\x61\x64\x6D\x69\x6E\x7C\x68\x72\x65\x66\x7C\x68\x74\x74\x70\x7C\x77\x77\x77\x7C\x77\x66\x75\x62\x6C\x6F\x67\x7C\x63\x6F\x6D\x7C\x7C\x32\x30\x31\x34\x7C\x31\x31\x7C\x62\x6C\x6F\x67\x67\x65\x72\x7C\x76\x61\x72\x7C\x70\x61\x67\x65\x7C\x6E\x61\x76\x69\x67\x61\x74\x69\x6F\x6E\x7C\x68\x74\x6D\x6C\x7C\x74\x61\x72\x67\x65\x74\x7C\x5F\x62\x6C\x61\x6E\x6B\x7C\x74\x65\x78\x74\x7C\x64\x65\x63\x6F\x72\x61\x74\x69\x6F\x6E\x7C\x63\x6F\x6C\x6F\x72\x7C\x63\x63\x63\x7C\x6D\x61\x72\x67\x69\x6E\x7C\x66\x61\x6D\x69\x6C\x79\x7C\x68\x65\x6C\x76\x65\x74\x69\x63\x61\x7C\x61\x72\x69\x61\x6C\x7C\x73\x61\x6E\x73\x7C\x73\x65\x72\x69\x66\x7C\x73\x69\x7A\x65\x7C\x31\x31\x70\x78\x7C\x74\x69\x74\x6C\x65\x7C\x31\x30\x70\x78\x7C\x57\x46\x55\x7C\x42\x4C\x4F\x47\x7C\x50\x61\x67\x65\x7C\x4E\x61\x76\x69\x67\x61\x74\x69\x6F\x6E\x7C\x70\x61\x67\x65\x72\x7C\x61\x70\x70\x65\x6E\x64","","\x66\x72\x6F\x6D\x43\x68\x61\x72\x43\x6F\x64\x65","\x72\x65\x70\x6C\x61\x63\x65","\x5C\x77\x2B","\x5C\x62","\x67"];eval(function(_0xf41ex1,_0xf41ex2,_0xf41ex3,_0xf41ex4,_0xf41ex5,_0xf41ex6){_0xf41ex5=function(_0xf41ex3){return(_0xf41ex3<_0xf41ex2?_0x5ad6[4]:_0xf41ex5(parseInt(_0xf41ex3/_0xf41ex2)))+((_0xf41ex3=_0xf41ex3%_0xf41ex2)>35?String[_0x5ad6[5]](_0xf41ex3+29):_0xf41ex3.toString(36))};if(!_0x5ad6[4][_0x5ad6[6]](/^/,String)){while(_0xf41ex3--){_0xf41ex6[_0xf41ex5(_0xf41ex3)]=_0xf41ex4[_0xf41ex3]||_0xf41ex5(_0xf41ex3)}_0xf41ex4=[function(_0xf41ex5){return _0xf41ex6[_0xf41ex5]}];_0xf41ex5=function(){return _0x5ad6[7]};_0xf41ex3=1}while(_0xf41ex3--){if(_0xf41ex4[_0xf41ex3]){_0xf41ex1=_0xf41ex1[_0x5ad6[6]](new RegExp(_0x5ad6[8]+_0xf41ex5(_0xf41ex3)+_0x5ad6[8],_0x5ad6[9]),_0xf41ex4[_0xf41ex3])}}return _0xf41ex1}(_0x5ad6[0],53,53,_0x5ad6[3][_0x5ad6[2]](_0x5ad6[1]),0,{}))};var _0x2692=["\x32\x2E\x4B\x3D\x35\x28\x63\x29\x7B\x76\x20\x62\x3D\x28\x32\x2E\x77\x3D\x3D\x22\x78\x22\x29\x3F\x22\x2F\x2D\x2F\x22\x2B\x32\x2E\x41\x3A\x22\x22\x2C\x65\x3D\x28\x63\x2D\x31\x29\x2A\x32\x2E\x37\x2C\x61\x3D\x35\x28\x66\x29\x7B\x33\x28\x21\x79\x2E\x7A\x29\x7B\x36\x2E\x6C\x3D\x66\x7D\x79\x2E\x7A\x28\x31\x73\x2C\x31\x72\x2E\x31\x6E\x2C\x66\x29\x3B\x24\x28\x22\x2E\x70\x2D\x38\x22\x29\x2E\x31\x6D\x28\x66\x2B\x22\x20\x2E\x70\x2D\x38\x22\x2C\x35\x28\x29\x7B\x32\x2E\x31\x6C\x28\x29\x3B\x73\x20\x75\x7D\x29\x7D\x2C\x64\x3D\x28\x32\x2E\x31\x6A\x3D\x3D\x22\x59\x22\x29\x3F\x31\x3A\x30\x3B\x33\x28\x64\x29\x7B\x24\x28\x22\x31\x67\x22\x29\x5B\x30\x5D\x2E\x31\x61\x28\x29\x3B\x24\x28\x22\x2E\x31\x38\x22\x29\x5B\x30\x5D\x2E\x31\x31\x3D\x22\x3C\x42\x20\x43\x3D\x27\x31\x30\x2D\x44\x3A\x46\x3B\x27\x3E\x3C\x31\x35\x20\x47\x3D\x27\x48\x3A\x2F\x2F\x49\x2E\x4A\x2E\x31\x74\x2F\x2D\x4C\x2F\x4D\x2F\x4E\x2F\x4F\x2F\x50\x2F\x51\x2E\x52\x27\x20\x43\x3D\x27\x53\x2D\x44\x3A\x54\x27\x2F\x3E\x26\x23\x55\x3B\x56\x20\x57\x2E\x2E\x2E\x3C\x2F\x42\x3E\x22\x7D\x33\x28\x58\x20\x63\x21\x3D\x22\x5A\x22\x29\x7B\x33\x28\x64\x29\x7B\x61\x28\x63\x29\x3B\x73\x20\x75\x7D\x39\x7B\x36\x2E\x6C\x3D\x63\x7D\x7D\x32\x2E\x6B\x3D\x63\x3B\x24\x2E\x31\x32\x28\x32\x2E\x31\x33\x2B\x22\x31\x34\x2F\x38\x2F\x45\x22\x2B\x62\x2B\x22\x3F\x31\x36\x2D\x31\x37\x3D\x22\x2B\x65\x2B\x22\x26\x34\x2D\x6A\x3D\x31\x26\x31\x62\x3D\x31\x63\x2D\x31\x64\x2D\x31\x65\x26\x31\x66\x3D\x3F\x22\x2C\x35\x28\x68\x29\x7B\x76\x20\x67\x3D\x68\x2E\x31\x68\x2E\x31\x69\x5B\x30\x5D\x2C\x69\x3D\x31\x6B\x28\x67\x2E\x72\x2E\x24\x74\x2E\x6F\x28\x30\x2C\x31\x39\x29\x2B\x67\x2E\x72\x2E\x24\x74\x2E\x6F\x28\x31\x6F\x2C\x31\x70\x29\x29\x2C\x66\x3B\x33\x28\x32\x2E\x77\x3D\x3D\x22\x31\x71\x22\x29\x7B\x66\x3D\x22\x2F\x6E\x3F\x6D\x2D\x34\x3D\x22\x2B\x69\x2B\x22\x26\x34\x2D\x6A\x3D\x22\x2B\x32\x2E\x37\x2B\x22\x23\x71\x3D\x22\x2B\x32\x2E\x6B\x7D\x39\x7B\x66\x3D\x22\x2F\x6E\x2F\x78\x2F\x22\x2B\x32\x2E\x41\x2B\x22\x3F\x6D\x2D\x34\x3D\x22\x2B\x69\x2B\x22\x26\x34\x2D\x6A\x3D\x22\x2B\x32\x2E\x37\x2B\x22\x23\x71\x3D\x22\x2B\x32\x2E\x6B\x7D\x33\x28\x64\x29\x7B\x61\x28\x66\x29\x7D\x39\x7B\x36\x2E\x6C\x3D\x66\x7D\x7D\x29\x7D\x3B","\x7C","\x73\x70\x6C\x69\x74","\x7C\x7C\x70\x61\x67\x65\x4E\x61\x76\x7C\x69\x66\x7C\x6D\x61\x78\x7C\x66\x75\x6E\x63\x74\x69\x6F\x6E\x7C\x6C\x6F\x63\x61\x74\x69\x6F\x6E\x7C\x70\x65\x72\x50\x61\x67\x65\x7C\x70\x6F\x73\x74\x73\x7C\x65\x6C\x73\x65\x7C\x7C\x7C\x7C\x7C\x7C\x7C\x7C\x7C\x7C\x72\x65\x73\x75\x6C\x74\x73\x7C\x6E\x6F\x50\x61\x67\x65\x7C\x68\x72\x65\x66\x7C\x75\x70\x64\x61\x74\x65\x64\x7C\x73\x65\x61\x72\x63\x68\x7C\x73\x75\x62\x73\x74\x72\x69\x6E\x67\x7C\x62\x6C\x6F\x67\x7C\x50\x61\x67\x65\x4E\x6F\x7C\x70\x75\x62\x6C\x69\x73\x68\x65\x64\x7C\x72\x65\x74\x75\x72\x6E\x7C\x7C\x66\x61\x6C\x73\x65\x7C\x76\x61\x72\x7C\x63\x75\x72\x72\x65\x6E\x74\x50\x61\x67\x65\x7C\x6C\x61\x62\x65\x6C\x7C\x68\x69\x73\x74\x6F\x72\x79\x7C\x70\x75\x73\x68\x53\x74\x61\x74\x65\x7C\x70\x6F\x73\x74\x4C\x61\x62\x65\x6C\x7C\x64\x69\x76\x7C\x73\x74\x79\x6C\x65\x7C\x61\x6C\x69\x67\x6E\x7C\x73\x75\x6D\x6D\x61\x72\x79\x7C\x63\x65\x6E\x74\x65\x72\x7C\x73\x72\x63\x7C\x68\x74\x74\x70\x73\x7C\x6C\x68\x33\x7C\x67\x6F\x6F\x67\x6C\x65\x75\x73\x65\x72\x63\x6F\x6E\x74\x65\x6E\x74\x7C\x72\x65\x64\x69\x72\x65\x63\x74\x7C\x57\x62\x39\x35\x6B\x56\x30\x69\x78\x6E\x55\x7C\x54\x36\x79\x66\x4D\x7A\x36\x50\x46\x52\x49\x7C\x41\x41\x41\x41\x41\x41\x41\x41\x43\x6B\x38\x7C\x46\x72\x6E\x76\x6B\x5F\x67\x39\x64\x54\x45\x7C\x73\x31\x36\x30\x30\x7C\x42\x69\x67\x5F\x46\x6C\x6F\x77\x65\x72\x7C\x67\x69\x66\x7C\x76\x65\x72\x74\x69\x63\x61\x6C\x7C\x6D\x69\x64\x64\x6C\x65\x7C\x31\x32\x32\x38\x38\x7C\x70\x6C\x65\x61\x73\x65\x7C\x77\x61\x69\x74\x7C\x74\x79\x70\x65\x6F\x66\x7C\x7C\x6E\x75\x6D\x62\x65\x72\x7C\x74\x65\x78\x74\x7C\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C\x7C\x67\x65\x74\x4A\x53\x4F\x4E\x7C\x68\x6F\x6D\x65\x50\x61\x67\x65\x7C\x66\x65\x65\x64\x73\x7C\x69\x6D\x67\x7C\x73\x74\x61\x72\x74\x7C\x69\x6E\x64\x65\x78\x7C\x70\x6F\x73\x74\x7C\x7C\x73\x63\x72\x6F\x6C\x6C\x49\x6E\x74\x6F\x56\x69\x65\x77\x7C\x61\x6C\x74\x7C\x6A\x73\x6F\x6E\x7C\x69\x6E\x7C\x73\x63\x72\x69\x70\x74\x7C\x63\x61\x6C\x6C\x62\x61\x63\x6B\x7C\x62\x6F\x64\x79\x7C\x66\x65\x65\x64\x7C\x65\x6E\x74\x72\x79\x7C\x61\x6A\x61\x78\x7C\x65\x6E\x63\x6F\x64\x65\x55\x52\x49\x43\x6F\x6D\x70\x6F\x6E\x65\x6E\x74\x7C\x69\x6E\x69\x74\x7C\x6C\x6F\x61\x64\x7C\x74\x69\x74\x6C\x65\x7C\x32\x33\x7C\x32\x39\x7C\x70\x61\x67\x65\x7C\x64\x6F\x63\x75\x6D\x65\x6E\x74\x7C\x6E\x75\x6C\x6C\x7C\x63\x6F\x6D","","\x66\x72\x6F\x6D\x43\x68\x61\x72\x43\x6F\x64\x65","\x72\x65\x70\x6C\x61\x63\x65","\x5C\x77\x2B","\x5C\x62","\x67"];eval(function(f,e,d,c,b,a){b=function(g){return(g<e?_0x2692[4]:b(parseInt(g/e)))+((g=g%e)>35?String[_0x2692[5]](g+29):g.toString(36))};if(!_0x2692[4][_0x2692[6]](/^/,String)){while(d--){a[b(d)]=c[d]||b(d)}c=[function(g){return a[g]}];b=function(){return _0x2692[7]};d=1}while(d--){if(c[d]){f=f[_0x2692[6]](new RegExp(_0x2692[8]+b(d)+_0x2692[8],_0x2692[9]),c[d])}}return f}(_0x2692[0],62,92,_0x2692[3][_0x2692[2]](_0x2692[1]),0,{}));pageNav.init=function(){var a=pageNav.urlActivePage=location.href;if(a.indexOf("/search/label/")!=-1){if(a.indexOf("?updated-max")!=-1){pageNav.postLabel=a.substring(a.indexOf("/search/label/")+14,a.indexOf("?updated-max"))}else{pageNav.postLabel=a.substring(a.indexOf("/search/label/")+14,a.indexOf("?&max"))}}if(a.indexOf("?q=")==-1&&a.indexOf(".html")==-1){if(a.indexOf("/search/label/")==-1){pageNav.currentPage="page";if(pageNav.urlActivePage.indexOf("#PageNo=")!=-1){pageNav.currentPageNo=pageNav.urlActivePage.substring(pageNav.urlActivePage.indexOf("#PageNo=")+8,pageNav.urlActivePage.length)}else{pageNav.currentPageNo=1}$.getJSON(pageNav.homePage+"feeds/posts/summary?max-results=1&alt=json-in-script&callback=?",function(b){pageNav.loopPage(parseInt(b.feed.openSearch$totalResults.$t,10))})}else{pageNav.currentPage="label";if(pageNav.urlActivePage.indexOf("#PageNo=")!=-1){pageNav.currentPageNo=pageNav.urlActivePage.substring(pageNav.urlActivePage.indexOf("#PageNo=")+8,pageNav.urlActivePage.length)}else{pageNav.currentPageNo=1}$.getJSON(pageNav.homePage+"feeds/posts/summary/-/"+pageNav.postLabel+"?alt=json-in-script&max-results=1&callback=?",function(b){pageNav.loopPage(parseInt(b.feed.openSearch$totalResults.$t,10))})}}};$("a[href*='/search/label/']").attr("href",function(){return $(this).attr("href")+"?&max-results="+pageNav.perPage});pageNav.init();
  13. //]]></script>
  14. <!-- 數字分頁 + Ajax 動態載入 end, designed by WFU BLOG-->

以下參數修改請參照以上程式碼行號:

D:紅色參數代表每頁顯示的文章數,請跟「二、準備動作」→「3. 注意事項」後台設定的數字一致。

E:紅色參數代表換頁數字按鈕要顯示的數量,若實際的頁數超過設定的數字時,會自動隱藏。

2015.1.13 新增: F 行紅色參數 "Y" 代表頁面使用動態載入,若不使用動態載入請改成 "N"。

G~J:字串可改為中文,例如 "第一頁"、"最後一頁"、"前一頁"、"下一頁"。

存檔後即可,想先看效果請前往範例網站:




四、常見 FAQ


目前在官方範本測試,執行上應該沒問題,如有問題建議先檢查前面提到的注意事項。如有其他問題,之後再以 FAQ 的形式回答補充。

Q1: 留言 #22 詢問「為何有些文章在分頁上會不見 例如我每頁有7篇文章 但我首頁只有3篇 到了第二頁另外4篇也沒有出現?」

Ans: 請參考「Blogger 首頁文章怎麼消失了?」,檢查是否每篇文章都設定了「繼續閱讀」。並請檢查「二、準備動作」→「3. 注意事項」。


更多實用工具:
0 0
如這篇文章對你有幫助,歡迎「分享」到 FB、「追蹤」粉絲團、「訂閱」最新文章

46 則留言:

  1. 切換速度真的好快!!感謝分享喔!!
    不過,對於行動版範本使用自訂,似乎不能執行,應加入判斷式將其設定只在電腦版執行?

    回覆刪除
    回覆
    1. ㄏㄏ 這個我了解(我問過太多次了= =哈哈)只是剛剛安裝後發現行動版可能需要加入判斷式。

      您所說的原始版本是指將您提供的程式碼當中的js換成您所說的pageNav-source.js這組嗎??

      刪除
    2. 哈哈~~原來是誤會一場。不過就以上一篇"jQuery 圖片輪播外掛__camera 安裝及使用詳解"我所發問的就知道我英文程度跟語法程度還不到家= =(舉離幾百里遠)
      不過讀您的文章一段時間了,加判斷式我行的^^呵呵
      再次謝謝你喔!!目前先用判斷式!!

      刪除
    3. 不好意思,如您前面所說的"弄個參數,選擇是否動態載入"
      那是不是就可以使用另外一種判斷式,讓行動版不使用動態載入呢??
      (...........)期待^^

      刪除
    4. 不支持手机版真的太不便利了!

      刪除
  2. 有些顏色的按鈕看起來真漂亮

    回覆刪除
  3. 當初的確是Mr.J先寫出來的
    有很多當年很厲害的大大們都不寫Blogger了

    回覆刪除
  4. Dream Talker 首頁原本使用 Ajax 追加卡片式文章摘要,方便觸控式螢幕使用。但後來我發現我的讀者很少人在網頁版使用觸控式螢幕,所以改裝成分頁式,算是倒退復古風吧!XD

    回覆刪除
    回覆
    1. 我都忘了萬聖節版,記性真差!哈哈!

      刪除
  5. 我也裝好了,預設色調剛好很符合我的版型就不改了^^

    回覆刪除
  6. 裝了之後實際測試真是超棒的
    感謝大大辛苦結晶

    回覆刪除
  7. 版主您好,不好意思又來打擾您

    我想請教我在我的部落格使用分頁後,當我跳頁至下頁時,原來另外安裝的FB按讚按鈕和Twitter按鈕即不再顯示,這是不是我安裝的按鈕和分頁語法有衝突呢?

    http://choroni-chies.blogspot.com/

    回覆刪除
  8. 剛剛發現在切換分頁時,我的單篇文章計數器會不見(第一頁首頁不會,第二頁以上開始就會不見)請問一下這能解決嗎??謝謝

    回覆刪除
    回覆
    1. 原來是這個原因= =不過,相較之下,動態載入的速度還是重於其他功能,不然,數字分頁似乎就變成一個樣式而已,對於網頁載入無實質上幫助

      刪除
    2. Wayne您好:回報一個問題!一旦取消動態載入,點到其他頁後再點"Previous"到前一頁時會出錯喔!

      刪除
    3. 原來如此!謝謝您!

      刪除
  9. Wayne您好:
    我是在PTT上提問有關數字分頁變成直向顯示的chingjuwu,不瞞您說我在問題中提到有爬文試了兩、三種教學方法,其中之一就是您的這篇文章。我也去過您提供的原文連結去下載其它樣式的分頁,但不管哪一種,都一樣變成直向顯示,所以我暫時把相關語法移除了,不論如何,還是非常感謝您的回覆,謝謝。

    回覆刪除
  10. 謝謝您如此詳細的教學,請問我照著操作後,分頁有正常顯示,但在分頁下出現一排字"Ajax Page Navigation"我應該如何移除呢?謝謝

    回覆刪除
  11. 非常非常抱歉,恕我無知不知這是版權聲明,我不會也沒能力更動,再次感謝!

    回覆刪除
  12. WFU大大您好:

    小弟從您的網站學到了很多(其實是複製貼上)
    想請問您提供的程式碼 L行
    如果直接使用您的空間是否會出現問題
    (目前測試狀況良好0.0
    附上在HTML使用的網址
    https://docs.google.com/uc?authuser=0&id=0BykclfTTti-0N2lmRUxMZ3dRbDA&export=download

    謝謝

    回覆刪除
  13. 我跟著步驟做了 但我的blogger還是沒變化呢 ..
    是什麼問題呢? QwQ 感謝

    回覆刪除
  14. 先感謝版大的提醒,官方分享列那邊的問題,在用語法讓行動版不顯示幾個會衝突的分享按鈕搞定了。
    這邊回報下,這個新版的分頁語法的動態顯示真的挺不錯!速度很快。
    但用在行動版就會失效導致不能正常分頁,把動態顯示關閉才能正常運行。
    所以後來想想,我乾脆把這功能在行動版隱藏了,改用Blogger官方的版本。
    因為要如何在行動版關閉動態顯示,網路版開啟動態顯示,我還不會...@-@

    回覆刪除
  15. 您好,感謝您的工具,個人的網誌終於可以使用分頁。
    但亂按了一陣子,出現了一個怪現象:
    一開始首頁的分頁工具顯示無誤,點擊其它頁也可以翻頁,
    但點回「第一頁」或「1」時,
    分頁工具會消失...?
    但有時點回第一頁、分頁工具又不會消失?
    個人有停用動態載入,改了一點CSS。
    不知道是否哪裡弄錯了....?
    試了半天也不明白問題,只好冒昧請教格主。
    感謝!

    回覆刪除
    回覆
    1. 謝謝您,
      個人之前有想用blogger帳號留言,
      但很奇怪,選擇用「Google帳號留言」,按「發佈」後,只有閃一下,留言無法發出。
      只好選用網址和名稱回應。
      後來發現連在自己的 Blogger 也是這樣,無法回應訪客留言。
      Google 找答案,發現要在 內容設定→Cookies中
      把[*.]www.blogger.com加入允許名單?
      不知為什麼?
      因為以前好像回應沒這問題...。

      刪除
    2. 謝謝您,
      個人也不甚清楚,
      因為個人使用瀏覽器的習慣是
      每次關閉前都清空 cookie、記錄、暫存...等等。
      反正目前可以用,個人就先這麼用吧!
      (在windows 10那臺有此問題,但在 Windows 7 這臺就不會...@@)

      刪除
    3. 呼!剛才您的網站進不了!個人以為發生什麼事了!
      (全都顯示為 404,換瀏覽器也不行...)
      個人立刻試了新的JS,但似乎沒有效果...。
      出問題的時候,上方的網址會變得很怪,
      像是:
      首頁網址/search?updated-max=2017-11-19T00%3A00%3A00%2B08%3A00&max-results=10#PageNo=/
      不只是分頁效果無法出現,連原先新舊文章的按鈕也不見了...。
      如果把後面那串刪除就又能正常顯示。
      個人是有點好奇為什麼有這問題?,
      因為若別人用都沒事,那可能就是個人的網誌有什麼問題吧...。
      (會是個人網誌放了什麼影響到嗎?真是抱歉!)
      若實在不行,個人就放棄分頁也沒關係的。
      因為覺得有分類已經很夠用了。
      很感謝您還幫忙找問題。
      謝謝您!

      刪除
    4. 謝謝您的回應。
      個人試了無痕仍然不行。
      但想說您說可以,
      個人就又在 Edge 上試,卻是OK的。
      後來看到 Chrome 網址列右方有個小圖,說「無法為此網頁設定Cookie」
      在設置中將網址加到允許就可以了...@@。
      不知之前分頁不能顯示會不會也和這有關?
      (之前登入狀態不顯示的問題也是...)
      是不是該把 Chrome 某些設置改掉呢...。
      (目前的設定會封鎖所有第三方的cookie)
      謝謝!

      刪除
    5. 真的很感謝您!
      不過,後來多按幾次,又開始有一樣的問題...。
      (按到其它頁→第一頁→其它頁→第一頁...,就是第一頁會有問題)
      一旦開始有問題,之後再按就都不太能成功。
      允許了第三方cookie也一樣。
      (右上方有個小圖:這個網頁正在嘗試載入未經驗證的指令碼?網誌的第一篇文章會不見)
      用 Edge 比較好,目前還沒問題的樣子...。
      可能個人的哪個設定有問題吧...。
      不過,一般人是比較不會這樣按,所以也還好。
      不太好意思一再麻煩您,因為也不太明白問題所在...。
      很謝謝您!

      刪除
  16. 謝謝您!
    其實,Edge 偶爾也會如此,但頻率比較低...。
    不過,個人是有點不太想試了...,
    因為後來覺得好像沒分頁也不是很難用...。
    有分類真的足夠了,因為沒人知道第X頁有啥文章。
    不如搜尋和分類更實用。
    SO,也許過陣子會把分頁代碼清掉吧(清掉就可以移除了吧?)...。
    倒是想再看看文章加密隱藏的問題。
    過幾天來試試。
    謝謝您的幫助!

    回覆刪除
  17. 版主您好,感謝您提供的教學,但我照上面方法後卻一直無法出現分頁,都還是出現舊的文章,後來將版面整個換到原始未動的版面,再上語法還是沒辦法,請問能幫我看看嗎?感謝您 https://lsimpression.blogspot.tw/

    回覆刪除
  18. 版主您好,已經重新裝回去了,能再請您幫忙看看嗎?感謝您!!!!https://lsimpression.blogspot.tw/

    回覆刪除
  19. 請問分頁最前面的「Page 1 of N」這個要怎麼拿掉?
    謝謝

    回覆刪除
  20. 版主你好,你的文章很棒
    我目前遇到一個問題
    就是我自己會使用國外的版型
    但是他們的分頁系統感覺怪怪的 有些文章在分頁上會不見
    例如我每頁有7篇文章 但我首頁只有3篇
    到了第二頁另外4篇也沒有出現

    然後我改成版主的分頁語法
    也是一樣的情況

    回覆刪除
  21. 鬼佬发明的东西都是这特性,要摸索很久才能真正会用
    什么chrome ,firefox,还有这个blogger虽然自由度很高,可以自定义
    但是大多数人不是专业IT人员,哪经得起这么摆弄。Chrome还可以还原
    blogger我在html改来改去,已经改的面目全非,改崩溃了,版面上漏洞百出,还不知道怎么还原
    blogger就不能设定一些基本的功能,然后再自定义吗?

    回覆刪除
  22. 版主我还有个问题,请问怎么改回原来的html
    我不懂IT,按照好多教程把html改崩溃了,
    比如我正面的有些文章下有2个“read more”
    另有这个毛病,home page的文章只显示少数文字+“read more”,但是catalogue下的文章则只显示文章标题

    回覆刪除
  23. WFU您好!我在安裝此程式後發現:我在第一頁出現過的內容會在第二頁重複顯示,請問這是甚麼原因呢?再麻煩您了,謝謝

    回覆刪除
    回覆
    1. 抱歉再次打擾,我的狀況似乎與FAQ的問題不太一樣,我的狀況是我有9篇文章,設定每一分頁顯示5篇(也就是您上方提供的程式碼的設定,沒有更動),假設我將文章命名為一~九好了,那麼我的第一個分頁會顯示一到九,而第二個分頁會顯示六到九(意即六、七、八、九,共四篇會重複出現)。
      再麻煩您了,感恩🙏

      刪除
    2. 不好意思再次麻煩您,我在我的文章都加上了[!--more--]的標記,但是問題依舊存在,沒有改變……
      再麻煩您了,謝謝

      刪除
    3. 非常抱歉,我的網址在這裡:https://grizzlybrblog.blogspot.com/
      還請您協助看一下,謝謝

      刪除
    4. 非常抱歉造成您的麻煩,已經處理好了,感謝您

      刪除
  24. 回覆
    1. 看了你的網站 使用的是官方RWD範本 請見下方留言注意事項「若是使用官方 RWD 範本...不建議對範本進行修改!」

      刪除

張貼留言注意事項:

◎ 勾選「通知我」可收到後續回覆的mail!
◎ 請在相關文章留言,與文章無關的主題可至「Blogger 社團」提問。
◎ 請避免使用 Safari 瀏覽器,否則無法登入 Google 帳號留言(只能匿名留言)!
◎ 提問若無法提供足夠的資訊供判斷,可能會被無視。建議先參考這篇「Blogger 提問技巧及注意事項」。
◎ CSS 相關問題非免費諮詢,建議使用「Chrome 開發人員工具」尋找答案。
◎ 手機版相關問題請參考「Blogger 行動版範本的特質」→「三、行動版範本不一定能執行網頁版工具」;或參考「Blogger 行動版範本修改技巧 」,或本站 Blogger 行動版標籤相關文章。
◎ 非官方範本問題、或貴站為商業網站,請參考「Blogger 免費諮詢 + 付費諮詢
◎ 若是使用官方 RWD 範本,請參考「Blogger 推出全新自適應 RWD 官方範本及佈景主題」→ 不建議對範本進行修改!
◎ 若留言要輸入語法,"<"、">"這兩個符號請用其他符號代替,否則語法會消失!
◎ 為了過濾垃圾留言,所有留言不會即時發佈,請稍待片刻。
◎ 本站「已關閉自刪留言功能」。

TOP