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

两种选择:

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. 将代码放入child

或者,您可以通过向子窗口写入标签来将要触发的代码放入子窗口script中(包含内联 JavaScript 的代码,有点狡猾,或者引用外部文件的代码,这会更好)。


FWIW,我建议您退后一步,询问您是否真的需要使用多个窗口,而不是坚持一个窗口并通过divs 等执行“虚拟”窗口。

于 2012-12-31T12:53:53.553 回答