我知道这是一个该死的简单问题,但我还没有找到任何解决方案。当我的应用程序被具有安全浏览功能的人打开时,https://
不会FB.getLoginStatus
触发。首先我使用FB._HTTPS
它并且它现在正在工作 FB 已经删除了所有具有._
. 那么如何制作FB.getLoginStatus
呢https://
?我的代码看起来像
<script src="//connect.facebook.net/en_US/all.js"></script>
<script>
console.log("layout");
//FB._https = (window.location.protocol == "https:");
//FB._https = true;
console.log("fb https true");
FB.init({
appId : '<?php echo $this->appId; ?>',
channelUrl : '//<?php echo $_SERVER["HTTP_HOST"]; ?>/static/content/channel.php',
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
</script>
function PostAction(custom_action)
{
console.log('outside of fbgetlogin');
FB.getLoginStatus(function(response)
{
console.log("in getlogin status");
if (response.authResponse) {
fbcallBack(response);
} else {
FB.login(fbcallBack, {scope:'publish_stream'});
}
});
}
我的 channel.php 文件包含
<?php
$cache_expire = 60*60*24*365;
header("Pragma: public");
header("Cache-Control: max-age=".$cache_expire);
header('Expires: ' . gmdate('D, d M Y H:i:s', time()+$cache_expire) . ' GMT');
?>
<script src="//connect.facebook.net/en_US/all.js"></script>
我的PostAction
功能在onclick
事件中触发。FB.getLoginStatus is triggered when user is on
http:// bit not triggered when user is on
https://`
任何人都可以告诉我如何使 getloginstatus 与 https:// 一起工作吗?
详细更新问题
让我详细告诉你这个问题。我已经实现了 facebook 的动作动词。我已经实现了三个动词。想要,拥有和推荐。现在我想在用户单击该按钮时检查用户的登录状态。如您所见,我在自定义按钮上的 onclick 事件中调用了 PostAction() 函数。现在在那次活动中,我想检查用户是否已登录。此函数存在于不同的文件中。并且 init 函数存在于可能的布局文件中(为了概括的观点)。现在我该如何处理这种情况?