我試圖使用FB JavaScript SDK做Facebook登錄。Facebook的登錄對話框不使用JavaScript SDK關閉
只有在opera瀏覽器中登錄後才能關閉登錄窗口。 我該如何解決這個問題?
我試過下面的源代碼: (上線this website - LINK)
<html>
<head></head>
<body>
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId: '101103500012652', // App ID
channelUrl: '//www.milujse.cz/app/channel.html', // Channel File
status: true,
cookie: true,
xfbml: true
});
FB.Event.subscribe('auth.authResponseChange', function(response) {
if (response.status === 'connected') {
testAPI();
} else if (response.status === 'not_authorized') {
} else {
}
});
};
(function(d) {
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) {
return;
}
js = d.createElement('script');
js.id = id;
js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
ref.parentNode.insertBefore(js, ref);
}(document));
function testAPI() {
FB.api('/me', function(response) {
alert('Good to see you, ' + response.name + '.');
});
}
function loginFB()
{
FB.login(function(response) {
if (response.authResponse) {
testAPI();
} else {
}
});
}
function logoutFB()
{
FB.logout(function(response) {
});
}
</script>
<input type="button" value="Login" onclick="loginFB();
return false;" />
<input type="button" value="Logout" onclick="logoutFB();
return false;" />
</body>
</html>
您是否在控制檯中看到任何javascript錯誤? – rncrtr 2013-05-11 18:58:07
在控制檯中不是javascript錯誤。 – Jenan 2013-05-13 18:24:36
我在其他瀏覽器中遇到了與我的Facebook實現類似的問題。我必須通過login和api方法傳遞迴調函數來維護狀態,但我不知道這是否與Opera問題有關。 – rncrtr 2013-05-13 18:41:20