我使用var userID = (FB.getAuthResponse() || {}).userID;
获取登录用户的ID,FB .init已正确初始化。
我遇到的问题是如果我把
var userID = (FB.getAuthResponse() || {}).userID;
在document.ready();
里面它以未定义的形式返回,而如果我把它放在一些javascript函数中并在点击按钮上调用该函数,它就可以正常工作。
任何人都知道可能是什么问题?
当我尝试直接在我的网站上访问它时,我也得到了这个:
XMLHttpRequest无法加载{CALL o be MADE}。没有 '访问控制允许来源'标题出现在请求的上 资源。来源' {我的网站地址}'因此是不允许的 访问。 (指数)
PS:我的Facebook页面标签中没有上述错误,我只是在尝试直接访问我的网站时才会收到此错误。
答案 0 :(得分:1)
我建议使用异步方式检查用户是否已登录并获取其ID:
您不应该在页面加载时使用此方法。一般来说,它是 如果您不确定,请更安全地使用FB.getLoginStatus。
查看Facebook文档以获取代码和信息:https://developers.facebook.com/docs/reference/javascript/FB.getLoginStatus
当然你应该在FB.init之后调用它。