我正在制作一个简单的阅读画布应用程序,我想在加载任何内容/文章之前检查用户是否已登录。当然,我有 FB.Init 方法,其中有一个 getLoginStatus,它看起来像这样(我已经删除了我的命名空间和 ID):
<script>
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.authResponse) {
var oauth_url = 'http://www.facebook.com/dialog/oauth/';
oauth_url += '?client_id=[APP ID]';
oauth_url += '&redirect_uri=' + encodeURIComponent('http://apps.facebook.com/[APP NAMESPACE]/');
oauth_url += '&scope=read_stream,publish_stream,offline_access'
window.top.location = oauth_url;
}
});
};
// Load the SDK Asynchronously
(function(d){
var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
d.getElementsByTagName('head')[0].appendChild(js);
}(document));
</script>
但无论我做什么,它都会首先加载我的 HTML 内容(我的文章、Divs、Paragrafs、文本......)并在完成后重定向。
该脚本是我的 HTML 的开头。我也尝试通过正文中的 onLoad() 方法加载它,但这也不起作用,它仍然会在重定向之前加载我的一些 HTML 内容。
在加载 HTML 代码的单个字母或图像之前,如何检查用户是否已登录 Facebook(如果未登录则重定向)?