1

私はIE9で作業しています。ページからポップアップウィンドウを開き、ポップアップから、(ポップアップウィンドウではなく)ページ内のjavascriptコードを呼び出す方法を教えてください。

ページの同じドメインからポップアップウィンドウにページをロードするので、クロスドメインの問題は発生しません。

4

2 に答える 2

3

Coryが言ったように、を使用window.openerして親ウィンドウのを取得しますwindow。これを見てください:

http://jsfiddle.net/Dmnqk/

function openPopup() {
    var w = window.open("", "");
    w.document.open();
    w.document.write("<script type='text/javascript'>window.opener.parentWindowFunction();<\/script>");
    w.document.close();
}

function parentWindowFunction() {
    alert("called");
}

もちろん、私の使用法はdocument.open/write/close、親ウィンドウの関数を呼び出す独自のページを作成することです(技術的には、実際に持つ<html><head></head><body>SCRIPT HERE</body></html>必要があります。ポップアップのページに必要なのは、の呼び出しだけwindow.opener.parentWindowFunctionです。

于 2012-12-12T00:00:39.523 に答える
0

window.openerポップアップを開いたページのグローバル(window)名前空間の関数にアクセスするために使用できます。

オープナー

function functionFromOpener() {
    return "wharrgarbl";
}

現れる

alert(window.opener.functionFromOpener());

必須のjsFiddleの例:http ://jsfiddle.net/9yLu2/1/

そうは言っても、ページはめ込みDHTMLダイアログを使用する方が良いと思います。(または、サイズ変更できない/アドレスバーがないブラウザウィンドウが私をそれほど悩ませている可能性があります。)

于 2012-12-12T00:03:09.163 に答える