2015-05-04 44 views
0

我使用Facebook的IFRAME有回調

<div class="fb-share-button" data-href="" data-layout="button_count" oncklick=""></div> 

有我的網頁在Facebook上共享。

現在我想知道爲什麼它是不可能添加任何事件以觸發功能,如果分享按鈕被點擊這樣的:

$(".fb-share-button").click(function(event){ 
//do stuff 
}); 

有沒有什麼辦法可以實現一個功能添加到點擊? 我想能夠使用ajax回調來存儲到我的數據庫中,單擊按鈕,但我不能使用應用程序ID,因爲它是不同的客戶的網站。

任何人都有解決方案嗎?

+0

[如Facebook和與回調共享鍵]的可能重複(http://stackoverflow.com/questions/23116001/facebook-like -and-share-button-with-callback) – Capsule

回答

0

您的自定義JavaScript將無法以您想要的方式操縱iframe的內容。不幸的是,這是現代瀏覽器實現iframe的方式。

最常見的解決方案

最好的辦法是讓你有更多的控制權自定義Facebook的分享按鈕,使用Facebook的分享者聯繫。

下面是一些代碼,讓你開始:

<a href="https://www.facebook.com/sharer/sharer.php?u=blah.com">Share on Facebook</a> 

來源:http://www.sharelinkgenerator.com/

替代方法:

您還可以鏈接/重定向到Facebook的對話,雖然由看起來你需要創建一個Facebook應用程序,這是一個痛苦。

https://www.facebook.com/dialog/share? 
    app_id=145634995501895 
    &display=popup 
    &href=https%3A%2F%2Fdevelopers.facebook.com%2Fdocs%2F 
    &redirect_uri=https%3A%2F%2Fdevelopers.facebook.com%2Ftools%2Fexplorer 

參考:

https://developers.facebook.com/docs/sharing/web

https://developers.facebook.com/apps

+0

如果您使用JS SDK,則不需要。順便說一句,這是你在這種情況下唯一的選擇,因爲共享是由用戶點擊觸發的,而不是服務器端應用程序。 – Capsule

+1

謝謝。 做了一些進一步的研究,並與此結合:http://stackoverflow.com/questions/14829040/facebook-sharer-popup-window/14829742#14829742 它工作得很整潔。 – tkoatl