2011年10月31日 星期一

[野人獻曝] 觸發Facebook的按讚事件

嘛~前一篇都寫了Google+1的,
所以這篇當然是要寫一下Facebook作平衡報導。

因此廢話不多說, 請大家直接看原始碼作吧!

如果要demo的話,請往這裡

======我是說明的分隔線======

為了避免有人懷疑我騙錢,
以下還是說一下FB這套跟Google的差別好了。

基本上Google的+1是不管怎樣,
全部都繫結(bind)一個函式,
因此會變成很多的程式邏輯都會寫在這個函式裡面。
(當然是可以拆開啦~只是說很多人會立刻先寫一堆後才發現不妙)

Facebook的話會把要繫結的函式增至兩個,
這樣大致上會減少一點內容,
看起來可能會比較美觀這樣。

總而言之,
Facebook的讚就是這樣了,
有問題歡迎留言,
至於回不回又是另一回事了 :D

[野人獻曝] 利用Google的+1按鍵統計某頁面的按讚次數(FB風

今天是講Google+1按鍵的功能,請要看Facebook的人可以離開了喔~(拖走想看Facebook的,請往這裡

如圖所示,這是Google+1按鍵的取得頁面,
上面的主要選項就不解釋了,
這裡就從進階選項那一區說明:
「加入計數」和「剖析」這兩項不在本文討論的範圍,
因此有需要的請自己去找資料;
這裡只解釋下方的兩個選項,也就是「JavaScript Callback函式」與「+1網址」。

這個JavaScript Callback函式是當使用者按了Javascript時會觸發的JavaScript事件,
所以你可以填入一個JavaScript函式名稱,
以便使用者+1後可以作一些事情(這方面請自行想像);
至於「+1網址」則是代表這個+1的分數(?)要算在哪個網址上。

解釋了兩個對本文比較有點關係的進階選項後,
接下來就是進入正題了。

當你填好這兩個選項後,
Google會產生類似以下的code:
<script src="https://apis.google.com/js/plusone.js" type="text/javascript">
</script>


<g:plusone callback="<你設定的JavaScript Callback函式>" href="<你設定的+1網址>"></g:plusone>

接著請把這段Code貼在應該出現的地方,
然後我們要寫一段javascript,以便應付使用者點擊+1按鍵後的回呼動作。

首先假設這裡設定的callback函式是「thankyou」,
所以就會有以下的js內容:
// o是一個物件,至少會包含「state」和「href」這兩個元素
function thankyou (o) {
  if (o.state.toLowerCase() == "ok") {  // 當使用者高興地(?)按了+1時
    alert("感謝您的支持");
  } else {   // 當使用者之前按了+1,之後又取消的狀況
    alert("如果可以的話,請告訴我們為什麼您又取消了+1");  
  }
}

當使用者按了+1後(如果他之前沒按過的話),
那麼就會出現「感謝您的支持」之類的話;
反之,則是後面的文字這樣。

以上就是最簡單的概念。
當然啦,你也可以衍生成當使用者按了+1後才能觀看文章(還是其他別的)作法,
但是我覺得這樣並不是很好啦。
總之本日的野人獻曝就這樣,
下次有機會再見~掰咪^.<