0

しばらくウェブを検索しても、問題の正しい解決策を見つけることができません。ブラウザが https アプリの URL にリダイレクトされることを確認する方法。キャンバス アプリは iframe であるため、window.top.location を https に相当するものに変更するアクセス権がありません。

訪問者が来たら

http://apps.facebook.com/app_name/

彼をリダイレクトしてほしい

https://apps.facebook.com/app_name/

クロスドメインオリジンルールにより top.location を改ざんすることは不可能であるため、キャンバスにロードされたアプリの JavaScript で完全に修正できません。Facebook によって実装されたリダイレクト ルールを使用して簡単に修正できた可能性があり、SSL を強制するための Facebook アプリのセットアップのチェックボックスではないことに驚いています。http 経由でゲームにアクセスできるようにしたくありません。

キャンバス URL とセキュア キャンバス URL の両方を https URL を指すように設定することをテストしましたが、次のエラーが発生します (クロスドメインのトラブル): 安全でない JavaScript が URL http://apps.facebook.com/app_nameでフレームにアクセスしようとしています/ URL https://s-static.ak.facebook.com/のフレームから

ご意見をお聞かせください。

4

1 に答える 1

1

わかりましたので、トップウィンドウをリダイレクトすることができます。最初にテストしたときにタイプミスがあったに違いありません。この小さなスクリプトはトリックを行います:

<script>
if ( window.location.protocol == 'http:' ) {
    window.top.location = 'https://apps.facebook.com/app_name/';
}
</script>

ただし、Facebook のアプリ設定でこれがオプションにならない理由はまだわかりません。サーバー側のリダイレクト ルールを使用すると、はるかに効率的でユーザー フレンドリーになります。

于 2012-10-25T21:27:41.760 に答える