Facebook API - 检测会话是否处于活动状态
Facebook API - Detect if session is active OR NOT active
我确定我只是忽略了Facebook API文档中的某些内容。基本上,在我加载FB图后,我需要知道会话是否处于活动状态...我不能简单地假设它们已注销,并在触发"auth.statusChange"事件后登录时重新渲染。我需要马上知道。
下面是我使用的代码。最重要的是,FB.getLoginStatus/getAuthResponse/getAccessToken不像我期望的那样工作;基本上,它指示在调用时,它们是登录还是注销。
(函数(d) { 创建 fb 根目录 var fb_root = document.createElement('div'); fb_root.id = "fb-root"; document.getElementsByTagName('body')[0].appendChild( fb_root ); 加载 FB 异步 var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0]; if (d.getElementById(id)) {return;} js = d.createElement('script');js.id = id;js.async = true; js.src = "//connect.facebook.net/en_US/all.js"; ref.parentNode.insertBefore(js, ref); 应用配置数据 var 配置 = { 应用ID : XXXX, 饼干:真的, 状态:真, 无摩擦请求:真 }; window.fbAsyncInit = function() { 这是行不通的。 我不能假设他们已注销并依靠此告诉我他们已登录。 FB.Event.subscribe('auth.statusChange', function(response) {}); 初始化 FB.init(config); 如果用户注销:(,则不会启动这些 FB.getLoginStatus(function(response) { }); FB.getAuthResponse(function(response) { }); FB.getAccessToken(function(response) { }); };}(文档));
任何帮助都非常感谢。 :)
感谢您的帮助,但我在另一篇文章中找到了答案:https://stackoverflow.com/a/7765144/560686
显然,当您仍处于沙盒模式时,FB.getLoginStatus()
只会在他们登录时触发回调,而不是在他们注销时触发。为了使其正常工作,我必须禁用沙盒模式。:)
相关文章:
- 我如何为列出的选项卡元素编写一个Protractor测试,它会检查它是否's是否处于活动状态
- Angular+bootstrap ui,检查当前选项卡是否已处于活动状态
- 使用jquery检查internet是否处于活动状态
- 查看CSS:invalid选择器当前是否在JavaScript中处于活动状态
- Facebook API - 检测会话是否处于活动状态
- 如何确定当前路由在 React 中是否处于活动状态
- 检查类是否处于活动状态,如果是,请运行外部.js文件?可能
- 检测浏览器选项卡是否处于活动状态或用户是否已切换
- 检查选项卡是否打开为活动状态
- 检查是否有任何输入聚焦或处于活动状态,而不是在表单中
- jQuery webcam/flash:如何检测网络摄像头是否处于活动状态
- 检查按钮是否处于活动状态
- 如何检查浏览器的“mywindow”选项卡在 asp.net 4.0中是否处于活动状态
- Zurb Foundation Top Bar & jQuery - 检查移动导航是否处于活动状态
- 检测文本溢出:省略号在输入字段上是否处于活动状态
- 了解开发者控制台在当前浏览器(JavaScript)中是否处于活动状态
- Firefox API检查选项卡是否处于活动状态
- 是否有任何方法可以检测IE8中该窗口当前处于活动状态
- 检测浏览器窗口是否处于活动状态,并在窗口再次处于活动状态后启动事件[JavaScript]
- 检查选项卡是否存在并使其处于活动状态;否则创建它