我在代码中看到几个问题:
>您正在调用嵌套在另一个函数中的函数来关闭窗口,因为父函数此时不可调用,所以永远不会被触发.
function openWin(){
/* code */
}
function closeWin(){
/* code */
}
>为了确保浏览器的兼容性关闭窗口,我强烈建议在父窗口中设置并调用生成弹出窗口内的可注入函数
注入函数的示例:
myWindow.document.write(
"
This is 'myWindow'
"+"
+"function closeWindow()\{" // sample injected function
+"window.close();"
+"\}<\/script>"
);
完整示例:
Open "myWindow"
Close "myWindow"
var myWindow;
function openWin() {
myWindow = window.open("", "myWindow", "width=200,height=100");
myWindow.document.write(
"
This is 'myWindow'
"+"
+"function closeWindow()\{" // sample injected function
+"window.close();"
+"\}<\/script>"
);
}
function closeWin() {
if(!myWindow.closeWindow) {
setTimeout(closeWin,1000); // repeat if function not found
} else {
myWindow.closeWindow();
}
}