Javascript SDK 适用于我桌面上的每个浏览器,但我在 iPhone 上遇到了 Safari 的问题。
以下是发生的情况: - 我单击登录 - Facebook Oauth 在新窗口中打开,我成功登录 - Facebook Oauth 窗口关闭,旧窗口显示 - 没有刷新登录页面(如桌面浏览器那样),没有任何反应...
所以我成功登录了,但是旧页面出现了。用户认为他们没有登录。我见过类似的问题儿子堆栈溢出但没有答案。
有没有人看到这个或知道解决方案?
<html xmlns:fb="http://ogp.me/ns/fb#">
<body>
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : <%= FACEBOOK_CONFIG['app_id'] %>, // App ID
channelUrl : '//'+window.location.hostname+'/channel', // Channel File
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
// Additional initialization code here
// whenever the user logs in, we refresh the page
FB.Event.subscribe('auth.login', function() {
setTimeout('document.location.reload()', 10);
});
};
// Load the SDK Asynchronously
(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));
</script>