2012-01-07 60 views
3

我使用此代碼得到響應:FB.Event.subscribe代碼不工作

<fb:like layout="button_count" notify="true" colorscheme="dark" href="http://www.fbrell.com"></fb:like> 
<script> 
    // this will fire when any of the like widgets are "liked" by the user 
    FB.Event.subscribe('edge.create', function(href, widget) { 
    alert('You liked ' + href, widget); 
    }); 
</script> 

它沒有給予任何迴應。誰能說出我在做什麼錯?

+0

您的示例工作正常。你之前在頁面上有任何錯誤嗎?一旦你按下「喜歡按鈕」,喜歡的數量是否會增加? – 2012-01-07 19:56:58

回答

1

假設您有FB Like按鈕出現,所以您必須正確包含SDK,我處於完全相同的情況 - 您所缺少的一切就是將訂閱設置在fbAsyncInit()函數中。

window.fbAsyncInit = function() { 
    FB.Event.subscribe('edge.create', function (targetUrl) { 
     _gaq.push(['_trackSocial', 'facebook', 'like', targetUrl]); 
    }); 
}; 

如果你這樣做,你並不需要一個應用程序ID也不是你,你需要使用FBML代碼,你可以使用HTML5代碼包括像<div class='fb-like' data-href='...

1
  1. 您錯過了包含JavaScript SDK文件。
  2. 你錯過了FB.init
  3. 你沒有在fbAsyncInit()函數中運行你的代碼。

查看https://developers.facebook.com/docs/reference/javascript/瞭解更多信息。

+0

你不需要調用'FB.init'來訂閱'edge.create'事件。 – 2012-01-08 06:30:54

+0

Kewl,不知道,但你需要包含JS SDK才能夠調用FB.Event.Subscribe,對吧?並且代碼沒有在fbAsyncInit中調用,所以可能存在異步JavaScript加載時間的問題。也沒有根據https://developers.facebook.com/docs/reference/plugins/like/ – DMCS 2012-01-08 10:57:18

+0

Opps !!的「通知」屬性!我只是在http://jsfiddle.net/dmcs/epgS6/1/上玩過它,發現在沒有FB.init的情況下調用Event subscibe會導致類似的插件不被渲染。 – DMCS 2012-01-08 11:00:28

0

清單:

(IM假設你已經設置的JavaScript SDK)

運行在您的網址的FB棉短絨,這裏的錯誤可能會停止它的工作

http://developers.facebook.com/tools/debug

包含此頁面的頂部

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml"> 

如果你喜歡的應用程序,包括你的應用頁面上

<meta property="fb:app_id" content="Your app id" /> 

Like按鈕,更改HREF到你的鏈接

<fb:like layout="button_count" show_faces="false" height="21" href="http://facebook.com"></fb:like> 

如果它的應用程序,FB更喜歡HTTPS

function init() { 
     FB.init({ 
      appId: APP_ID, 
      status: true, 
      cookie: true, 
      xfbml: true, 
      oauth: true 
     }); 

    //uncomment if required 
    //window.fbAsyncInit = function() { 
    FB.Event.subscribe('edge.create', 
     function(response) { 
      alert('You liked the URL: ' + response); 
     } 
    ); 
    //} 
} 
init(); 
+0

確保你沒有喜歡,然後多次unliked該頁面,否則會發生此行爲 – 2012-09-20 21:10:45