これが非常に単純な質問であることは知っていますが、これに対する解決策は見つかりませんでした。セキュア ブラウジングをオンにしているユーザーがアプリを開いた場合、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のアクション動詞を実装しました。私は3つの動詞を実装しました。欲しい、持っている、お勧めします。ユーザーがそのボタンをクリックしたときに、ユーザーのログインステータスを確認したいと思います。ご覧のとおり、カスタム ボタンの onclick イベントで PostAction() 関数を呼び出しました。そのイベントで、ユーザーがログインしているかどうかを確認したいと思います。この関数は別のファイルにあります。また、初期化関数は、5 月のレイアウト ファイルに存在します (一般化の観点から)。では、この状況をどのように処理できますか?