私はこのボタンを持っています:
<img src="static/img/facebook_button.png" id="login-fb" onclick="login();" />
私もこのスクリプトを持っています:
window.fbAsyncInit = function(){
FB.init({
appId : 'MY_APP_ID',
status : true,
cookie : true,
xfbml : false
});
};
最後に、私はこの機能を持っています:
function login()
{
facebookPerms = [
'user_photos', 'email', 'offline_access', 'user_relationships', 'read_stream',
'user_about_me', 'user_birthday', 'user_education_history', //'publish_stream',
'user_hometown', 'user_interests', 'user_location', 'user_likes',
'user_religion_politics', 'user_activities', 'user_work_history'
];
//Get the facebook login status
FB.getLoginStatus(function(response) {
if (response.session) {
// logged in and connected user, someone you know
ajaxLogin();
} else {
//Display the facebook login dialog
FB.login(function(response) {
if (response.authResponse) {
// user is logged in and granted some permissions.
// perms is a comma separated list of granted permissions
ajaxLogin();
} else {
// user is not logged in, display the error dialog box
errorNotLogged();
}
}, {
//Ask for permissions of Facebook
scope: facebookPerms.join(',')
});
}
});
}
私はこのFacebookのルールに従っています:
FB.login を呼び出すと、JS SDK がポップアップ ウィンドウを開こうとします。そのため、このメソッドはユーザーのクリック イベントの後にのみ呼び出す必要があります。そうしないと、ほとんどのブラウザーでポップアップ ウィンドウがブロックされます。
そして、私の Web サイトは依然として IE9 で Facebook ポップアップがブロックされます。これを解決する方法はありますか?他の人がスクリプトをブロックせずにこれを行う方法はありますか?