0

我有两个网页。第 1 页是一个表单,在其上提交第 2 页是通过 jQuery 加载的(调用 php 页面并在未加载的情况下在同一 page1 上返回输出)。我维护了会话变量以确保没有违规行为。但是,在特定情况下,我希望关闭第 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>';

但是,似乎单击“关闭”链接既不会关闭主窗口,也不会在 5 秒内自动关闭窗口(这是我真正想要的)

我哪里错了?

4

2 回答 2

0

您不能通过 javascript 关闭顶部窗口,除非您也使用 javascript 打开了它。抱歉,无法完成。

尝试仅复制该行

top.window.close();

到控制台。运行它,看看会发生什么:什么都没有。

如果你放一个

console.log('here')

在您的 parent_close 函数中,您将看到该语句已执行...

于 2012-04-10T17:36:18.397 回答
0

链接的 href 中应该有一个值,而不仅仅是一个空值,例如:

href="#"

并不是:

href=""

此外,第一个参数setTimeout应该用引号引起来,并且您可能希望调用该函数,而不是返回,例如:

setTimeout("parent_close()",5000);
于 2012-04-10T17:21:18.970 回答