PHP超时后自动关闭窗口

时间:2016-02-07 15:33:43

标签: javascript php html

我能够关闭窗户。但随着超时,它似乎不起作用。

此test.php由另一个窗口上的提交按钮操作调用。如果我注释掉了所有窗口关闭脚本行,那么这个“发送...此窗口将在发送后自行关闭”。会出现。

echo "<script>window.close();</script>";将关闭此窗口而不显示任何回音。其他3行,我看到的只是一个空白窗口,根本没有关闭。仅在Chrome上我遇到了Server 500错误。我试过Firefox,Safari和Chrome。

有什么建议吗?

test.php包含:

<?php

    echo "Sending ... This window will close itself after sending.";

    echo "<script>window.close();</script>";  // this line works

//    echo "<script>setTimeout("window.close()", 5000);</script>";

//    <script type="text/javascript">setTimeout("window.close();", 3000);</script>
//    echo "<script type="text/javascript">setTimeout( function() { window.close(); }, 3000);</script>"

?>

2 个答案:

答案 0 :(得分:3)

<script type="text/javascript">setTimeout("window.close();", 2000);</script>

告诉我这是否有效,当然将2000改为你想要的东西;)

答案 1 :(得分:0)

您应该将函数传递给setTimeout()。

试试这个:

<script>setTimeout(function(){ window.close();}, 5000);</script>

更新更新: 错误500表示&#34;内部服务器错误&#34;,您的脚本有问题,而不是结果页面。

我假设您没有发布真实的脚本,但除了您输出的内容之外,还有其他错误。 你真的在PHP字符串中写了双引号吗? 因为你真正在做的是编写编译错误,类似的东西是非法的PHP代码:

echo "something "quoted" something";

我仍然建议你编写一个正确的函数而不是字符串,但是如果你必须,至少要避开双引号,或者如果你不必解析变量就使用单引号来启动PHP常量字符串在它。

echo 'something "quoted" something';//I prefer this

echo "something \"quoted\" something";
//but this still works, altough parser will try to find variable names