我有一个页面,您可以分享一些内容。
首先使用FB.login()
登录Error: file is encrypted or is not a database
然后我使用以下分享
FB.login(function(response) {
if (response.authResponse) {
sharePost(imgName,socket);
} else {
//do nothing if not logged in....
}
}, {scope: 'public_profile,email,user_friends'});
有时它会在登录后阻止弹出窗口。有时候不会。
我考虑过删除FB.login(),但我需要其他操作的范围。
答案 0 :(得分:0)
您需要在用户交互(=鼠标单击)上使用FB.ui
对话框,而不是FB.login
的异步回调函数。现代浏览器将其检测为未经授权的弹出窗口并阻止它。此外,在授权后立即提供订阅源对话框是个坏主意。显示登录按钮并使用FB.login
,然后显示分享按钮并使用FB.ui
Feed或FB.ui
分享。
顺便说一句,您甚至不需要为FB.ui
用户授权,因此您可以跳过FB.login
并在真正需要时使用它。