1
顯然,有些人對使用Facebook插件的網站感到不滿意,因爲他們不想跟蹤他們不在Facebook上的行爲。有Shariff,這看起來像一個公平的方法:Facebook用戶點擊Facebook按鈕(這裏是demo)之前,不會加載Facebook插件。點擊加載Facebook SDK
我想要做同樣的事情(使用JavaScript的SDK)。但是,我公然無法動態加載SDK。我也沒有收到任何錯誤消息(是的,我插入了應用程序ID)。
任何想法?下面的代碼取自API docs。
<html>
<body>
<script type="text/javascript">
window.onload = function() {
var e = document.getElementById('share_on_fb_link');
e.onclick = share_on_fb;
function share_on_fb() {
// Code from https://developers.facebook.com/docs/javascript/quickstart/v2.2
// Basic Setup
window.fbAsyncInit = function() {
FB.init({
appId : 'your-app-id',
xfbml : true,
version : 'v2.1'
});
};
(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
// Using the SDK to trigger a Share dialog
FB.ui({
method: 'share',
href: 'https://developers.facebook.com/docs/'
}, function(response){});
return false;
}
}
</script>
<a id="share_on_fb_link" href="#">Link</a>
</body>
</html>
我想做一個非常類似的事情。它也不適合我,但我確定你應該將FB.ui調用移動到fbAsyncInit回調函數中。網站備註:據我所見,Shariff不使用Facebook SDK,它只是在彈出窗口中打開sharer.php。 – lacco