3

別のドメインのドキュメントでホストされている、同じドメインの 2 つの iframe があります。問題は、これらの iframe が postMessage を介して相互に通信できないことです。同じドメインに属していても、iframe2 から iframe1 の DOM にアクセスすることさえできません。解決策はありますか????

次のオプションを使用して、必要な iframe を参照しました。

parent.frame[x]

iframeのDOMにアクセスするために次の行を試しました

parent.frame[x].contentWindow returns null,

parent.frame[x].document.getElementsByTagName("body") returns null

アップデート:

私の質問は十分に明確ではないと思います。私の場合、postMessage api には問題はありません。実際の問題は、ブラウザーが iframe ドキュメントの周りにカスタム フレームセットを作成することです。

そのparent.frame[x]ため、iframe ウィンドウを指すのではなく、iframe ウィンドウ内のカスタム フレームセットを指します。

次の質問は問題をよく説明しています。

ブラウザーが iframe のドキュメントにカスタム フレームセットをロードできないようにする

4

2 に答える 2

-1

次のpostMessage関数の説明とその使用方法を見てください。したがって、postMessageフレーム 1 でメソッドを呼び出し、フレーム 2 で通知をサブスクライブします。明らかに、使用しているブラウザがこの API をサポートしている必要があります。

また、この API をラップして使用法を簡素化する、非常に優れたjQuery プラグインもあります。postMessageまた、URL のハッシュ部分を使用する方法をサポートしていないブラウザーでも機能します。

于 2011-07-09T10:31:49.113 に答える