【问题标题】:redirecting users to another page将用户重定向到另一个页面
【发布时间】:2012-04-05 09:41:33
【问题描述】:

我想知道是否可以在某种延迟后将用户从 php 文件重定向到另一个页面。

I.E 用户将点击发送,这将向他们显示已发送的内容,然后将他们重定向回主页。

【问题讨论】:

  • 通过 setTimeout 调用 Javascript 重定向。

标签: php html


【解决方案1】:

可以使用:

header('Refresh: 10; url=http://www.example.com'); 

这将在 10 秒后重定向。虽然这不是最好的方法。如下所述,不要破坏后退按钮...

【讨论】:

  • "W3C 认为这种方法是一种糟糕的重定向方法,因为它不会向浏览器传达有关原始资源或新资源的任何信息。W3C 的 Web 内容可访问性指南 ( 7.4) 不鼓励创建自动刷新页面[...]。他们就该问题撰写的一些文章包括 W3C Web Content Accessibility Guidelines (1.0): Ensure user control of time-sensitive content changes and Use standard redirects: don不要打破后退按钮!” (en.wikipedia.org/wiki/…)
【解决方案2】:

由于您已经发送了正文(显示“已发送消息”),因此无法使用 header("Location:...");

只需在 JS 中完成:

<script type="text/javascript">
    setTimeout(function() {location.href="...";},2000); // 2000 ms = 2 seconds
</script>

【讨论】:

  • 我可以在 PHP 中使用 javascript 吗?
  • 当然。只需使用echo 输出即可。
  • @mitchnufc,澄清一下,Kolink 和我在这里没有分歧。您不能在 PHP 中使用 JavaScript。但是,您可以使用 PHP 输出 JavaScript,然后 JavaScript 在客户端运行。
  • 说得好,布拉德。我只是在想我该如何澄清这一点,但你又狙击了我:p
  • 所以我要回显整个脚本吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-29
  • 1970-01-01
  • 1970-01-01
  • 2010-12-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多