2012-10-03 75 views
0

我試圖檢測用戶何時點擊Facebook上的按鈕。 我已經試過什麼:收聽iframe上的點擊事件

$('iframe').click(function() {alert('clicked!');}; 
$('#wrapper').click(function() {alert('clicked!');}; 

其中#wrapper周圍的iframe一個div。第二個只有在iframe外部的區域內點擊包裝器時才起作用。

另一種方法是在iframe之上放置一個div,但之後類似的按鈕將不再可點擊... 有沒有辦法在不阻止事件進入iframe的情況下接收此點擊事件?

回答

4

對於Facebook的你的具體情況,有events you can subscribe

window.fbAsyncInit = function() { 
    FB.Event.subscribe('edge.create', function (targetUrl) { 
     alert('liked'); 
    }); 
    FB.Event.subscribe('edge.remove', function (targetUrl) { 
     alert('unliked'); 
    }); 
}; 
+0

正是我需要的。所以這可能是因爲Facebook的API,但不是一般的,對吧? –

+0

@Cedric,對。如果iframe指向另一個「原點」,則無法訪問iframe的「文檔」。請參見「同源策略」。 – Roman