0

我可以使用时间点吗?

就像是:

header('refresh:1.5; url=xxx');
4

5 回答 5

0

是的,您可以使用:

header('refresh: 2; url=someurl.php');

时间在哪里3,以秒为单位。更多信息header可以在这里找到。

但无论如何,我总是提倡组合以避免某些浏览器出现问题:

  • 标题(正如你所做的那样)
  • 元标记(在 HTML 头部)
  • JavaScript 超时

使用时,header我认为您不能使用像1.5. 无论如何,我怀疑任何用户都注意到21.5秒之间的区别。但如果这对您很重要,您可以使用 JavaScript 超时来实现。

重定向方式

元标记:

<meta http-equiv="refresh" content="2;url=http://www.yourwebsite.com/someurl.php"> 

JavaScript:

setTimeout(function() {
   window.location = "http://www.yourwebsite.com/someurl.php";
}, 1500);
于 2013-02-04T09:10:32.993 回答
0

标头(“刷新:5;url=wherever.php”);

参考: http: //php.net/manual/en/function.header.php

于 2013-02-04T09:11:31.913 回答
0

是的,你可以,但在任何标头已经发送之前:请记住,header() 必须在发送任何实际输出之前调用,无论是通过普通 HTML 标记、文件中的空白行还是从 PHP。使用 include 或 require 函数或其他文件访问函数读取代码并在调用 header() 之前输出空格或空行是一个非常常见的错误。使用单个 PHP/HTML 文件时也存在同样的问题。 http://php.net/manual/en/function.header.php

于 2013-02-04T09:11:51.840 回答
0

如果您需要 1 到 2 秒之间的时间,您可以使用 1.5,正如您在问题中声明的那样。

于 2013-02-04T09:13:08.147 回答
0

refresh不是 HTTP 标准的一部分。它是由 Netscape 引入并由其他浏览器实现的遗留方法。即使它适用于一种浏览器,您也不能确定它适用于所有浏览器。

W3C 不鼓励使用它,有关详细信息,请参阅此 Wikipedia 文章。尤其是“缺点”和“替代方案”部分很有趣。

我更喜欢使用它header('refresh ...')

usleep(1500000);
header("Location: xxx");

这将发送一个干净的 302 重定向,并确保它符合 HTTP 并适用于每个浏览器。

于 2013-02-04T09:20:29.207 回答