簡體   English   中英

僅在單擊fb.share按鈕后才調用FB.ui

[英]Call FB.ui only after clicking on the fb.share button

我想要實現的是:

我有一個簡單的Facebook分享按鈕,來自Facebook開發者。 現場:

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

現在,我在開頭body標簽之前添加了同樣來自facebook的facebook應用代碼:

<script>
window.fbAsyncInit = function() {
FB.init({
  appId      : 'XXXXXXXXXXXXXXXX',
  xfbml      : true,
  version    : 'v2.2'
});
};

(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'));
</script>

現在,我在Facebook分享按鈕下面添加了FB.ui腳本:

FB.ui(
{
method: 'share',
href: document.URL,
},
function(response) {
if (response && !response.error_code) {
  alert('Posting completed.');
} else {
  alert('Error while posting.');
}
}
);

目前的問題是,頁面加載后,Facebook共享就會自動觸發,並且一切正常,但是,我想要的是,只有當用戶按下時,Facebook共享才會出現(FB.ui才能工作) Facebook分享按鈕,而不是自動。 有人可以幫我嗎?

當您使用jQuery使用fb-share-button類單擊按鈕時,可以運行FB.ui代碼:

$(".fb-share-button').click(function(){
    //here goes the FB.ui function
    FB.ui(
    {
        method: 'share',
        href: document.URL,
    },
    function(response) {
        if (response && !response.error_code) {
          alert('Posting completed.');
        } else {
          alert('Error while posting.');
        }
    });
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM