゚∀゚)ノ blogger page navigation widget的debug……

昨天說blogger page navigation widget的debug……其實很簡單……只是我不懂為什麼這個插件作者沒有這麼寫得說…… 本文章源自於~雨雪紛飛~ http://shiyou-top.blogspot.com/,轉載請註明。
以下是修改後代碼 本文章源自於~雨雪紛飛~ http://shiyou-top.blogspot.com/,轉載請註明。

<script type="text/javascript">

function showpageCount(json) {
var thisUrl = location.href.split("#").shift();
var htmlMap = new Array();
var isFirstPage = thisUrl.substring(thisUrl.length-14,thisUrl.length)==".blogspot.com/";
var isLablePage = thisUrl.indexOf("/search/label/")!=-1;
var isPage = thisUrl.indexOf("/search?updated")!=-1;
var thisLable = isLablePage ? thisUrl.substr(thisUrl.indexOf("/search/label/")+14,thisUrl.length) : "";
thisLable
= thisLable.indexOf("?")!=-1 ? thisLable.substr(0,thisLable.indexOf("?")) : thisLable;
var thisNum = 1;
var postNum=1;
var itemCount = 0;
var fFlag = 0;
var eFlag = 0;
var html= '';
var upPageHtml ='';
var downPageHtml ='';


var pageCount=5; //<!--頁面文張數-->
var displayPageNum= 3;
var firstPageWord = '首頁';    
var endPageWord = '最末頁';
var upPageWord ='上一頁';
var downPageWord ='下一頁';




var labelHtml = '<span class="showpageNum"><a href="/search/label/'+thisLable+'?&max-results='+pageCount+'">';

for(var i=0, post; post = json.feed.entry[i]; i++) {
//var timestamp = post.published.$t.substr(0,10);
var timestamp = post.published.$t;
timestamp
= timestamp.replace(timestamp.substring(timestamp.indexOf("."), timestamp.indexOf("+")) , "");
timestamp
= encodeURIComponent(timestamp)
var title = post.title.$t;
if(isLablePage){
if(title!=''){
if(post.category){
for(var c=0, post_category; post_category = post.category[c]; c++) {
if(encodeURIComponent(post_category.term)==thisLable){
if(itemCount==0 || (itemCount % pageCount ==(pageCount-1))){
if(thisUrl.indexOf(timestamp)!=-1 ){
thisNum
= postNum;
}

postNum
++;
htmlMap
[htmlMap.length] = '/search/label/'+thisLable+'?updated-max=' + timestamp + '&max-results=' + pageCount;
}
}
}
}//end if(post.category){ //}

itemCount
++;
}

}else{
if(title!=''){
if(itemCount==0 || (itemCount % pageCount ==(pageCount-1))){
if(thisUrl.indexOf(timestamp)!=-1 ){
thisNum
= postNum;
}

if(title!='') postNum++;
htmlMap
[htmlMap.length] = '/search?updated-max=' + timestamp + '&max-results='+pageCount;
}
}
itemCount
++;
}
}

for(var p =0;p< htmlMap.length;p++){
if(p>=(thisNum-displayPageNum-1) && p<(thisNum+displayPageNum)){
if(fFlag ==0 && p == thisNum-2){
if(thisNum==2){
if(isLablePage){
upPageHtml
= labelHtml + upPageWord +'</a></span>';
}else{
upPageHtml
= '<span class="showpage"><a href="/">'+ upPageWord +'</a></span>';
}
}else{
upPageHtml
= '<span class="showpage"><a href="'+htmlMap[p]+'">'+ upPageWord +'</a></span>';
}

fFlag
++;
}

if(p==(thisNum-1)){
html
+= ' <span class="showpagePoint"><u>'+thisNum+'</u></span>';
}else{
if(p==0){
if(isLablePage){
html
= labelHtml+'1</a></span>';
}else{
html
+= '<span class="showpageNum"><a href="/">1</a></span>';
}
}else{
html
+= '<span class="showpageNum"><a href="'+htmlMap[p]+'">'+ (p+1) +' </a></span>';
}
}

if(eFlag ==0 && p == thisNum){
downPageHtml
= '<span class="showpage"> <a href="'+htmlMap[p]+'">'+ downPageWord +'</a></span>';
eFlag
++;
}
}//end if(p>=(thisNum-displayPageNum-1) && p<(thisNum+displayPageNum)){ //}
}//end for(var p =0;p< htmlMap.length;p++){ //}

if(thisNum>1){
if(!isLablePage){
html
= '<span class="showpage"><a href="/">'+ firstPageWord +' </a></span>'+upPageHtml+' '+html +' ';
}else{
html
= ''+labelHtml + firstPageWord +' </a></span>'+upPageHtml+' '+html +' ';
}
}

html
= '<div class="showpageArea"><span style="padding: 2px 4px 2px 4px;' +
'margin: 2px auto 2px auto;' +
'border: 1px solid #333;' +
'display:block; width: 150px;" class="showpage">第 '+thisNum+' 頁。共 '+(postNum-1)+' 頁 </span>'+html;

if(thisNum<(postNum-1)){
html
+= downPageHtml;
html
+= '<span class="showpage"><a href="'+htmlMap[htmlMap.length-1]+'"> '+endPageWord+'</a></span>';
}

if(postNum==1) postNum++;
html
+= '</div>';

if(isPage || isFirstPage || isLablePage){
var pageArea = document.getElementsByName("pageArea");
var blogPager = document.getElementById("blog-pager");

if(postNum <= 2){
html
='';
}

for(var p =0;p< pageArea.length;p++){
pageArea
[p].innerHTML = html;
}

if(pageArea&&pageArea.length>0){
html
='';
}

if(blogPager){
blogPager
.innerHTML = html;
}
}

}
</script>

<script src="/feeds/posts/summary?alt=json-in-script&callback=showpageCount&max-results=99999" type="text/javascript"></script>
<div style="text-align:right;font-size:10px;color:000000;margin-top:15px;display:none;"> <a href="http://rias-techno-wizard.blogspot.com/2008/07/page-navigation-hack-for-blogger.html">Grab this Widget ~ Blogger Accessories</a><br/>
<a href="http://shiyou-blog.blogspot.com/2011/08/debug-blogger-page-navigation-widget.html" >Debug from ~雨雪紛飛(Blog)~:blogger page navigation widget的debug……</a></div>

copy者請別忘記把pageCount和displayPageNum修改成自己的……
本文章源自於~雨雪紛飛~ http://shiyou-top.blogspot.com/,轉載請註明。
修改方式很簡單……
重點在timestamp這variable。
之前提過了,updated-max這個urlVariable是根據時間來決定的……
找一下就會發現這code裡面設定updated-max的是在htmlMap。
所以我就先把timestemp設為encodeURIComponent(timestamp)
然後再把htmlMap裡面相關的部份修改即可……
本文章源自於~雨雪紛飛~ http://shiyou-top.blogspot.com/,轉載請註明。
其實我本來是沒打算直接修改timestemp,而是在htmlMap上修改……
不過因為不修改會有bug……
至於是什麼,自己去修改原代碼就會找到了wwwwwwww

沒有留言:

張貼留言

小提示:留言時,可以使用粗體(<b>)、斜體(<i>)、超連結(<a href="網址"> </a>)。另外,以「名稱/網址」留言時,網址可以留空的。