我有两个网页。第1页是一个表单,其提交,第2页通过jQuery加载(调用php页面并在同一页面上返回输出而不加载)。我维护会话变量以确保不会发生违规。但是,在特定情况下,我希望关闭第1页窗口,因此我将以下代码作为第2页的o / p传递。
echo '<div style="background-color:#ffa; padding:5px"><font color=red>Multiple sessions of the same page are open. Please <a href="" onclick="window.close();">close</a> use the latest window for submission</font></div>';
echo '<script type="text/javascript">
function parent_close(){
parent.window.close();
}
setTimeout(parent_close,5000);
</script>';
然而,似乎既没有点击'关闭'链接关闭主窗口也没有窗口自动关闭5secs(这是我真正想要的)
我哪里错了?
答案 0 :(得分:0)
链接在其href中应该有一个值,而不仅仅是一个空值,例如:
href="#"
而不是:
href=""
此外,setTimeout
的第一个参数应该用引号括起来,你可能希望调用该函数,而不是返回,例如:
setTimeout("parent_close()",5000);
答案 1 :(得分:0)
你不能通过javascript关闭一个顶层窗口,除非你也用javascript打开它。对不起,无法完成。
尝试仅复制
行top.window.close();
到控制台。运行它,看看会发生什么:没有。
如果你放了一个
console.log('here')
在parent_close函数中,您将看到该语句已执行...