在Chrome上登录Facebook失败。没有对话框和Javascript未捕获异常
我有一个用于登录Facebook的javascript:在Chrome上登录Facebook失败。没有对话框和Javascript未捕获异常,javascript,facebook,google-chrome,facebook-javascript-sdk,Javascript,Facebook,Google Chrome,Facebook Javascript Sdk,我有一个用于登录Facebook的javascript: window.fbAsyncInit = function() { FB.init({ appId : '{{ app_id }}', // App ID status : true, // check login status cookie : true, // enable cookies to allow the serve
window.fbAsyncInit = function() {
FB.init({
appId : '{{ app_id }}', // App ID
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
FB.getLoginStatus(function(response) {
if (response.status === 'unknown') {
FB.login({
scope: 'friends_birthday,manage_pages'
});
}else{
// Check permissions
FB.api('/me/permissions',function(response) {
if (!('friends_birthday' in response.data[0] && 'manage_pages' in response.data[0])){
// Permissions not OK
FB.ui({
method: 'permissions.request',
perms: 'friends_birthday,manage_pages'
},function(response) {
});
}
});
}
});
FB.Canvas.setAutoGrow();
};
// Load the SDK Asynchronously
(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/all.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
没有对话框出现,我在的第76行得到了一个javascript错误,出现了一个未捕获的异常(显然名为“h”)
这发生在Chrome上,而不是Safari上。问题的原因是什么?我认为这是因为您的FB.login函数错误,下面是一个小修复/示例:
FB.login(function(responseAuth) {
if (!responseAuth.authResponse) {
console.log('Something went wrong...');
return false;
}
}, { scope: 'email' });
Chrome和Facebook似乎没有很好地配合。我目前遇到一个无法获取
https://facebook.com
在我的机器上完全以Chrome加载。关于这个问题有很多讨论,但除了“nuke your Chrome user profile”之外,我还没有找到其他解决方案。我使用过许多具有Facebook功能的网站,这些网站在Chrome上运行得很好。@MatthewMitchell,你是否安装了Facebook Disconnect之类的扩展?在匿名窗口中运行时,是否会出现相同的错误?另外,您是从本地html文件还是从服务器上托管的页面进行测试?当您的启动协议是文件:
(而不是http[s]:
)时,js.src=“//connect.facebook.net…”
行中可能会出现问题。未使用扩展名。我正在使用带有HTTP的本地服务器。谢谢,你说得对。虽然我有一个问题,阻止弹出窗口,所以我现在使用重定向到www.facebook.com/dialog/oauth。