0

postMessage/receiveMessage を使用して、iframe 経由でクロスドメイン リクエストのレスポンスにアクセスしようとしています。

iframe は、通常は特定の操作を行うリソースを呼び出しますが、エラーが発生した場合は代わりに、postMessage を呼び出すスクリプト スニペットで応答します。

これは開発環境では機能していましたが、本番環境では失敗し、HTTPS と関係があると思いますが、解決方法がわかりません。

応答コードは次のようになります。

<script>
$.postMessage(whateverData, 'https://abc.def.com', parent );
</script>

クライアントの受信メッセージは次のようになります。

$.receiveMessage(function(e){       
            alert(e.data);
        }, 'http://blah123');

コンソール (Chrome ブラウザー) に表示されるエラーは次のようになります: (HTTP 要求 URL が表示されます)

The page at https://abc.def.com/xyz/something.html#jkl displayed insecure content from http://blah123/sub/qwerty/target.aspx?parmsRemoved
Uncaught SyntaxError: Unexpected token ILLEGAL 

ここで何がうまくいかなかったのですか?直し方?

編集:うーん、最初のコンソール メッセージが誤解を招く可能性はありますか?つまり、セキュリティとは何の関係もありませんが、エラーは、'whateverData' var 内のテキストの解析に問題があるということですか?

4

1 に答える 1

0

これらは2つの別々の問題です。

file://また、post/receiveMessage については、ブラウザごとにプロトコル ( 、https://、 )によって制限が若干異なるhttp://ため、その点にも注意してください。

于 2013-10-02T18:11:23.173 に答える