9

サーバーS1でホストされているiframeがページP1にあります。実行時にiframe.src=、iframe内のサーバーS2でホストされているページP2をロードします。

CORSについて知っており、サーバーS2のページP2については、すでに設定Access-Control-Allow-Origin: *しています。ブラウザーで確認すると、応答ヘッダーで同じことを確認できます。

これで、ページP2とそのすべてのアセットがファイルだけをロードしますが、を使用してP1からP2のDOMにアクセスしようとするとwindow.frames["iframe"].document、パーミッションエラーがスローされます。

サーバーS2に設定Access-Control-Allow-Origin: *しているのに、なぜP2のDOMにアクセスできないのですか?これはAccess-Control-Allow-Origin: *うまくいくはずですか?

要求-応答

4

1 に答える 1

1

PostMessages を使用して、ドキュメント間の通信を設定できます。それらが異なるドメインからのものであっても。

PostMessage を介してデータを送信できます。限定的ですが、これは何もないよりはましです

http://easyxdm.net/wp/を見てください。操作に適した API があります。昔、私はそのライブラリでクロスドメインの http <-> https ajax リクエストを作成しました。

于 2013-03-27T08:55:54.450 に答える