2009年10月14日 星期三

裝上隨機文章(Random Posts),加強部落格的黏著度


為避免舊文沉入茫茫網海中,就要想辦法讓他出來跟大家見見面,所以隨機文章(Random Posts)的設置就相對的重要許多,覺得目前自己的部落格上還缺了一塊"隨機文章"的小工具,讓讀者可以多一點時間停留在你的部落格上,點閱相關文章的機率也會大增,算是很必要的工具,尤其文章一多,很多值得一讀的文章都被塵封在舊文裡,讓他出來透透氣也是必要的。

之前綸太郎也有介紹過隨機文章顯示的工具,但是有時會拖慢速度,每個功能不盡相同,例如
單篇隨機文章‧讓舊文出來透透氣
如何產生隨機文章---B Stir>>0 與1 謎詭世界

有時用久了就想換另一種工具,交換使用也是不錯的,如何安裝呢?
進入後台→版面配置→網頁元素→新增小工具→HTML/JavaScript 新增,然後放下以下程式碼即可。
<script type="text/javascript">
var randarray = new Array();var l=0;var flag;
var numofpost=10;function randomposts(json){
var total = parseInt(json.feed.openSearch$totalResults.$t,10);
for(i=0;i < numofpost;){flag=0;randarray.length=numofpost;l=Math.floor(Math.random()*total);for(j in randarray){if(l==randarray[j]){ flag=1;}}
if(flag==0&&l!=0){randarray[i++]=l;}}document.write('<ul>');
for(n in randarray){ var p=randarray[n];var entry=json.feed.entry[p-1];
for(k=0; k < entry.link.length; k++){if(entry.link[k].rel=='alternate'){var item = "<li>" + "<a href=" + entry.link[k].href + ">" + entry.title.$t + "</a> </li>";
document.write(item);}}
}document.write('</ul>');}
</script>
<script src="/feeds/posts/default?alt=json-in-script&start-index=1&max-results=1000&callback=randomposts" type="text/javascript"></script>

按下儲存即可。

要顯示幾篇,只要修改裡面的紅色程式碼的數字即可,我目前是設10篇。
var numofpost=10

為什麼我的隨機文章有捲軸(拉Bar)顯示呢,請參考如何利用捲軸讓邊欄(Sidebar)元件縮短一文說明。

其實這個作者有另外寫出在每篇文章下方新增隨機文章的作法,但是我實作後一直無法成功,所以如果有興趣的朋友也可以參考看看,Random Posts Widget for Blogger,因為我用他的語法都沒有作用,我使用的是下面這篇我參考而實作成功的文章。

2009.10.17更新
感謝網友希锐亚提供在文章下方,新增"隨機文章"的方式,詳細安裝情形請參考
一个人在途上: blogger文章下方添加随机文章

參考來源:
The Best Random Posts Widget For Blogger Blogs
延伸閱讀:
提高部落格的黏著度

19 則留言:

  1. 謝謝你的教學,如你所說的,舊的文章往往會被沉默結蜘蛛網,有了這個隨機文章就可以解決問題囉 : ) 感謝分享 ~

    回覆刪除
  2. 不客氣,自己也要用到,就想辦法找出來分享囉。

    回覆刪除
  3. stuffablog提供的服務不夠隨機,只會有一部份的文章被隨機選出而已
    可以到這邊http://csie-tw.blogspot.com/2009/10/bloggerrandom-post.html
    參考官方版的隨機文章功能

    回覆刪除
  4. 我想你可能沒看文章就留言吧,你提供的應該就是我文章寫的東西啊,stuff不夠隨機是因為他是參考Google網誌搜尋提供的資料庫,所以會比較少些。

    回覆刪除
  5. 綸太郎,我参考你这篇文章实现了“文章下方新增隨機文章”,你可以看看这里blogger文章下方添加随机文章

    回覆刪除
  6. 真的很謝謝你,我已經實作成功了,附上文章網址連結跟大家介紹,再次感謝。

    回覆刪除
  7. 我用了這個語法後 第一篇文章顯示不出來(試過很多次) 請問該如何解決?

    我是改var numofpost=3

    回覆刪除
  8. 方便給我網址嗎?是放在邊欄或是文章下方,有時或許是css設定造成的,又或是別的瀏覽器看起來正常,有的不。

    回覆刪除
  9. 我的Blog
    http://ptttheone.blogspot.com/

    隨機文章我放在右欄上方

    唯獨就是不會出現001那篇文章
    (http://ptttheone.blogspot.com/2009/11/001-blogpost.html)

    回覆刪除
  10. 你現在的文章有5篇,如果設var numofpost=5應該就會出來了,現階段我想應該是你的文章數量的問題,多了一些可能就會改善,因為作者隨機抓取的script程式碼我也不會,沒法幫你。

    回覆刪除
  11. 很遺憾
    目前只要var numofpost≧文章數就會出現Script錯誤的訊息 且無法顯示隨機文章...囧!

    回覆刪除
  12. 還有一個方法就是設一篇文章日期早於第一篇,應該也是可以的,因為我也不會改程式,這個我有測試過應該可行。

    回覆刪除
  13. 我試過早一篇是可行的
    但是我決定把001當作續篇吧 應該沒人想看吧?

    回覆刪除
  14. 第一篇可以當作文章列表整理也是可以的,像我用一個連結整理自己寫過的文章這樣。

    回覆刪除
  15. 不客氣,你的動物Video部落格也很棒,改天去你家偷學一些東西。

    回覆刪除
  16. 您好,請問這段"隨機文章"和"內容"的字體大小要如何更改,另外應如何把底線去掉呢?

    回覆刪除
  17. 我用了你連結的另一個方法,已解決,再次感謝~

    回覆刪除
  18. 不客氣,問題解決了就好。

    回覆刪除

設有留言驗證及核准,版主閱覽後,留言才會顯示,發問前請善用網站目錄Google搜尋功能