Vah*_*nts 62
您可以使用超时刷新发送php标头.http://php.net/manual/en/function.header.php
<?php
header( "refresh:5; url=wherever.php" );
?>
Run Code Online (Sandbox Code Playgroud)
那么使用sleep()呢?
function method1(...) {
sleep(5);
... rest of the code
Run Code Online (Sandbox Code Playgroud)
header()不是使用它.该refresh头做这项工作,但我想强调一些潜在的问题:
它没有在 HTTP 标准中指定。维基百科说:
专有和非标准:由 Netscape 引入并被大多数 Web 浏览器支持的标头扩展。
但它已经存在近 20 年了,我不知道有任何不支持它的浏览器(虽然找不到参考)
某些浏览器不使用重定向的页面上的缓存refresh。它已在此处为 Internet Explorer 进行了演示:http : //blogs.msdn.com/b/ieinternals/archive/2010/05/13/meta-refresh-causes-additional-http-requests.aspx,我可以在火狐。Chrome 没有这个问题。
您可以在中间页面上添加一个 JavaScript,它会在 X 秒后打开一个新页面。在页面底部添加此内容以http://www.example.com/target在5几秒钟后重定向到:
<script type="text/javascript">
window.setTimeout(function() {
window.location.href='http://www.example.com/target';
}, 5000);
</script>
Run Code Online (Sandbox Code Playgroud)
作为奖励,refresh如果 JS 被禁用,您可以回退到标头,使用meta指令http-equiv告诉浏览器好像已经发送了某个 HTTP 标头一样。因为它是 HTML 源代码的一部分,所以您可以将它包装在一个<noscript>元素中。<head>在上面的 JavaScript 中添加这个:
<noscript>
<meta http-equiv="refresh" content="5;url=http://www.example.com/target" />
</noscript>
Run Code Online (Sandbox Code Playgroud)
现在,页面会使用 JavaScript 重定向以获得最佳性能,refresh否则会使用其他方式。