簡単な読書用キャンバスアプリを作成しています。コンテンツ/記事を読み込む前に、ユーザーがログインしているかどうかを確認したいと思います。当然、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コンテンツ(私の記事、Div、段落、テキストなど)をロードし、それが終了した後にリダイレクトします。
スクリプトは私のHTMLの頭です。また、本文のonLoad()メソッドを使用してロードしようとしましたが、それも機能しませんでした。リダイレクトする前に、HTMLコンテンツの一部がロードされます。
HTMLコードの1文字または画像をロードする前に、ユーザーがFacebookにログインしているかどうかを確認する(登録していない場合はリダイレクトする)にはどうすればよいですか?