我正在製作一個簡單的閱讀畫布應用程序,我想成爲ale來檢查用戶是否已在加載任何內容/文章之前登錄過。當然,我有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(並重定向,如果他不是)?
我可以通過JS SDK做到這一點嗎?我所看到的全部都是PHP示例和片段,而我對PHP的效率並不高。 如果是的話,你能給我一個如何用JS實現這個例子嗎? –
不,您將無法使用js sdk,這僅適用於客戶端使用。你可以找到一些與node.js一起用於服務器端javascript的東西,或者自己編寫,因爲sdk只是http請求的一個外觀。我用python(幾次)和java實現。你在服務器端使用什麼? –
此刻,我的canvas應用程序完全是HTML + JS(根本沒有php),在告訴我之前我甚至沒有意識到服務器端身份驗證,並假定JS SDK FB.login也處理了它。由於它只使用靜態HTML鏈接(無數據獲取),因此我不需要服務器端請求。所以,我想我在服務器端使用NOTHING ... –