php完成后如何关闭窗口?

时间:2016-06-12 10:33:48

标签: javascript

我有这段代码:

 <?php
    /*
      creating a database
    */
    echo "<script>window.close();</script>";
?>

最后我试图关闭当前窗口,但是我有这个错误:脚本只能关闭它打开的窗口。窗口是物理打开的。你能帮我解决一下吗?

2 个答案:

答案 0 :(得分:2)

想象两个页面,a.phpb.php

b.php在两个示例中都是相同的:

<script>window.close();</script>

此示例HTML不起作用(a.php):

<a href="b.php">open b.php</a>

现在,这将有效(a.php再次):

<a href="#" onclick="window.open('b.php');return false">open b.php</a>

原因。因为Javascript(应该)只能关闭它已打开的窗口。

第一个示例HTML是标准的a href链接。没有使用Javascript。

在第二个示例中,使用Javascript打开浏览器窗口,然后可以通过Javascript关闭该窗口。

PHP是一个服务器端脚本,完全与它无关。如果从问题中删除了PHP标记,那将是最好的。

答案 1 :(得分:1)

这里很少有注意事项。使用PHP,您无法关闭用户浏览器。 PHP在服务器上运行。但是有一些javascript(正如你所使用的)因为它在用户浏览器上运行。

在JS中,您要关闭一个窗口,该窗口需要由脚本打开。要使用window.close(),需要通过脚本打开窗口。

例如,您可以使用window.open()创建一个窗口,并使用该处理程序也可以关闭它。

如果这是在ajax调用上,它还取决于父页面是否允许弹出。

var win;
function openWindow(){
  win= window.open('www.stackoverflow.com', 'stackoverflow');
}

function closeWindow(){
  win.close();
}


function close(){
  window.close();
}
<button onClick='openWindow'>Open Stackoverflow</button> 
<button onClick='closeWindow'>Close Stackoverflow</button> 
<button onClick='close'>Close Current window</button>