我正在使用新的Facebook javascript SDK(根据开发人员中心的文档v2.0)实现自定义Facebook分享按钮
window.fbAsyncInit = function () {
FB.init({
appId: 'xxxxxxx',
xfbml: true,
version: 'v2.0'
});
};
(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'));
function shareToFacebook(url) {
var obj = {
method: 'share',
href: url,
};
function callback(response) { }
FB.ui(obj, callback);
}
$('#mb-facebook').click(function () {
shareToFacebook('http://some-url-to-share');
return false;
});
现在一切正常,例外一个问题:
如果我在点击分享到Facebook按钮之前登录了我的Facebook帐户,那么弹出窗口包含预期的Facebook分享表格,但如果我没有登录我的Facebook帐户,则点击分享按钮,a空白弹出窗口不显示任何内容,也没有促销登录facebook等。
我记得我之前在另一个项目中已经完成了这项工作,如果他尚未登录,则共享按钮将促使用户登录Facebook。 所以我的问题是:facebook在新的SDK中改变了这种行为,还是我错过了其他的东西? 提前谢谢!