最近の Chrome の更新では、混合コンテンツ (https/http) のセキュリティ ポリシーを強化することでこれを破ったようです。また、Firefox もこれを行う予定であると読みました。
問題は次のとおりです。
アプリの Secure Canvas URL をhttps://themediadudes.com/httpstest/に設定したとします。
そのページには Google へのリンクのみが含まれています。
<a href="http://www.google.com">Google</a>
Facebook でアプリを表示してリンクをクリックしても、何も起こりません。コンソールに次のエラーが表示されます。
[ブロック] https://apps.facebook.com/myappname/のページで、 http://www.google.com/からの安全でないコンテンツが実行されました。
安全でないスクリプトやスタイルシートなどを https ページに含めることは許可されていないことは理解していますが、別の Web サイトへの単純なリンクはブロックされるべきではありませんよね?. Facebookは、ユーザーをそこに送る前にページで何かをするスクリプトを実行していると思いますか? これがエラーの原因です。
リンクのターゲットを _top または _blank に設定すると機能します。
理想的には、javascript window.location を使用して、ユーザーをこの安全でない URL、または header('Location: blah'); に送信できるようにしたいと考えています。PHPで。しかし、どちらも機能しません。これは、安全でない URL への単純なリンクでさえ機能しない場合よりも大きな問題のようです。
「流動的な」キャンバスの幅とキャンバスの高さの設定が機能することが原因である可能性があると思いました。しかし、幅と高さの両方を固定に設定しようとしましたが、それでも問題が発生します。
誰かが解決策または回避策を持っていますか、または少なくとも誰かがこれについてもう少し光を当てることができますか? ありがとう