如何从子窗口打开一个新窗口

时间:2012-12-31 12:52:47

标签: javascript

从主页面我想打开一个子窗口,从子窗口我想打开另一个窗口。这怎么可能? 我已经尝试了以下代码,但它无法正常工作。

<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()" />​

1 个答案:

答案 0 :(得分: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。将代码放在子代

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


FWIW,我建议退一步,询问你是否 需要使用多个窗口,而不是坚持一个窗口,并通过div等做“虚拟”窗口。