Javascript 在页面加载时检查Facebook登录状态
根据Facebook Javascript SDK 可以通过设置status:true来检查用户的状态 当你调用FB.init时 要接收此呼叫的响应,您必须订阅 auth.statusChange事件 我相信我这样做是正确的,但我的示例中的“状态更改”日志从未触发:Javascript 在页面加载时检查Facebook登录状态,javascript,facebook,Javascript,Facebook,根据Facebook Javascript SDK 可以通过设置status:true来检查用户的状态 当你调用FB.init时 要接收此呼叫的响应,您必须订阅 auth.statusChange事件 我相信我这样做是正确的,但我的示例中的“状态更改”日志从未触发: window.fbAsyncInit = function() { FB.init({ appId : 'xxxxxxxxxxxx', // App ID channelUrl :
window.fbAsyncInit = function() {
FB.init({
appId : 'xxxxxxxxxxxx', // App ID
channelUrl : '../channel.html', // Channel File
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
FB.Event.subscribe('auth.statusChange', function(response) {
console.log("status change!");
});
...
});
此文档是否不正确?还是我做错了什么事?我认为最后是这样,而不是};是} 也可能是你没有开始。这对我很有用:
$(document).ready(function() {
var app_id = 'xxxxxxxxxxxxxx';
var start = function (){
window.fbAsyncInit = function() {
FB.init({
appId : app_id,
status : true,
cookie : true,
xfbml : true,
version : 'v2.7'
});
FB.Event.subscribe('auth.statusChange', function(response) {
var status = response.status;
console.log(response.status);
if (status === "connected") {
//
}
});
};
}
start();
});
你可以这样试试
函数statusChangeCallbackresponse{//调用,结果来自FB.getLoginStatus。
console.log'statusChangeCallback';
console.logresponse;//此人的当前登录状态。
如果response.status==='connected'{//登录到您的网页和Facebook。
console.logUser已连接,名称:+response.name;
}否则{//未登录您的网页,或者我们无法确定。
console.loguser未连接;
}
}
window.fbAsyninit=函数{
FB.init{
appId:“{your app id}”,
曲奇:是的,
xfbml:是的,
版本:“{api版本}”
};
FB.getLoginStatusfunction响应{//在JS SDK初始化后调用。
statusChangeCallbackresponse;//返回登录状态。
};
};
函数d,s,id{
var js,fjs=d.getElementsByTagNames[0];
如果d.getElementById{
回来
}
js=d.createElements;
js.id=id;
js.src=https://connect.facebook.net/en_US/sdk.js;
fjs.parentNode.insertBeforejs,fjs;
}文档“脚本”、“facebook jssdk”;