我想要实现的是:
我有一个简单的脸书分享按钮取自脸书开发者网站:
<div class="fb-share-button" data-layout="button_count"></div>
现在,我添加了同样取自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共享按钮时,facebook共享才会出现(FB.ui才能工作),而不是自动出现。有人能帮我做这个吗?
当您使用jQuery:点击带有FB共享按钮类的按钮时,您可以运行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.');
}
});
});