5
  • customer.jspページがありiframeます。
  • iframeボタンがあります。ボタンをクリックすると、customer.jspページ内にあるダイアログ ボックスにアクセスする必要があります。
  • 試してみましたが、値window.parent.document.getElementById('formDialog');が得られていnullます。
4

4 に答える 4

8
window.parent.document.getElementById('target'); 

両方のリソースが同じオリジンにある必要があります

于 2013-02-20T05:14:16.667 に答える
3

クロスオリジン リソースでは、iframe と親ドキュメント間の通信はできません。iframe とそれを含むページが同じホスト、ポート、およびプロトコルからのものである場合にのみ機能します (例: http://example.com:80/1.htmlhttp://example.com:80/2.html )。

 Assuming both resources are from the same origin

iframe では、window.parent はドキュメント オブジェクト自体ではなく、親ドキュメントのグローバル オブジェクトを参照します。使用する必要があると思いますparent.document.getElementById('formDialog')

于 2013-02-20T05:06:23.490 に答える
0

を通じて親ウィンドウ要素にアクセスできますparent.document.getElementById('formDialog');

null を取得した場合、その Iframes 親のコンテキスト内でその要素を取得できますか? 正しい ID と正しい親を参照していますか?

于 2013-02-20T05:04:43.637 に答える
0

これを試して。お役に立てれば。iframe内のボタンのボタンクリックから CallParentFunction があるとしましょう。

function CallParentFunction(){
     if (top && top.opener && top.opener.top) {
        top.opener.document.getElementById('formDialog'); 
     }
      else {
        top.document.getElementById('formDialog'); 

     }
}
于 2013-02-20T05:26:02.560 に答える