function myFunction(){
myWin = open("","","width=200,height=200");
with(myWin.document){
open();
write("<HTML><HEAD><TITLE>Child Window</TITLE>");
write("<SCRIPT>function myTest(){");
write("alert('This function is defined in the child window ");
write("and is called from the parent window.'); this.focus();}");
write("</SCRIPT></HEAD><BODY><H3>Child Window</H3><HR>");
write("<FORM><INPUT TYPE='button' VALUE='parent window function' ");
write("onClick='opener.winFunction();'>");
write("<P><INPUT TYPE='button' VALUE='close window' ");
write("onClick='window.close();'>");
write("</FORM></BODY></HTML>");
close();
}
}
function winFunction(){
alert("This function is defined in the parent window\n" +
"and is called from the child window.");
myWin.focus();
}
// - &GT;
为了进一步解释我的初始查询是什么,上面的代码,应该用第二个按钮打开子窗口(myWin),“打开子窗口”按钮,而不需要用第一个按钮打开窗口或做任何事情其他。它应该简单地调用myWin.myTest()函数当按下第二个按钮时,子窗口将打开,但是在它工作之前需要先打开子窗口(第一个按钮)。这不是预期的目的,“打开子窗口”按钮应该可以工作,而不需要做任何其他事情。由于某种原因,父窗口没有与myWin窗口和myTest函数通信。这不是家庭作业,它是认证课程实验室的一部分,并按照我所表明的理解方式进行编码。 DTD不包括在内,因为重点是JavaScript。我正确地编写了关于该W3C和其他W3C要求的代码。
答案 0 :(得分:3)
我重新编写了更好的代码。它按预期工作。除了直接引用正确的窗口对象外,它没有太大的不同。
代码看起来仍然很难看,用url创建新窗口而不是像这样。
答案 1 :(得分:0)
正常工作(虽然我转义了字符串中结束标记的/
并制作了\/
)