我有这个用于登录 Facebook 的 javascript:
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'));
没有出现任何对话框,我在all.js的第 76 行收到一个未捕获异常(显然名为“h”)的 javascript 错误。
这发生在 Chrome 而不是 Safari 上。是什么导致了这个问题?