1

メインページから子ウィンドウを開き、子ウィンドウから別のウィンドウを開きます。どうしてそれは可能ですか?以下のコードを試しましたが、機能しません。

<script type='text/javascript">
function click1(){
var win1=window.open();
win1.document.write("first window");
var windowHTML ='<input type="button" value="click"   onclick="click2()" />';
win1.document.write(windowHTML); 
}    

function click2(){
 var win2=window.open();
 win2.document.write("seccond window");
}

 <input type="button" value="click1" onclick="click1()" />​
4

1 に答える 1

1

2つのオプション:

1.opener子供で使用する

変化する

var windowHTML ='<input type="button" value="click"   onclick="click2()" />';

var windowHTML ='<input type="button" value="click"   onclick="opener.click2()" />';
// Change is here ---------------------------------------------^

opener子ウィンドウにはメインウィンドウへの参照があり、グローバル関数を使用しているため、その参照を介して呼び出すことができます(SOPの問題がないことを前提としています)。

2.コードを子に入れます

または、タグを書き込むことで、トリガーするコードを子ウィンドウに配置することもできますscript(インラインJavaScriptを含むコードは少し危険ですが、外部ファイルを参照するコードの方が適しています)。


FWIW、私は一歩下がって、 1つのウィンドウに固執してsなどを介して「仮想」ウィンドウを実行するのではなく、本当に複数のウィンドウを使用する必要があるかどうかを尋ねることをお勧めします。div

于 2012-12-31T12:53:53.553 に答える