自动将某人重定向到另一个网页的最佳方法是啥?

Posted

技术标签:

【中文标题】自动将某人重定向到另一个网页的最佳方法是啥?【英文标题】:What's the best way to automatically redirect someone to another webpage?自动将某人重定向到另一个网页的最佳方法是什么? 【发布时间】:2010-09-17 01:15:27 【问题描述】:

我从未学过 javascript,但我想这是一个相当简单的问题。只是想知道这些天最推荐哪种方法。

【问题讨论】:

这能回答你的问题吗? How do I redirect to another webpage? 【参考方案1】:
// use this to avoid redirects when a user clicks "back" in their browser
window.location.replace('http://somewhereelse.com');

// use this to redirect, a back button call will trigger the redirection again
window.location.href = "http://somewhereelse.com";

// given for completeness, essentially an alias to window.location.href
window.location = "http://somewhereelse.com";

编辑:看起来发布更好答案的用户已经离开了,我在这里合并了他的答案。

【讨论】:

【参考方案2】:

最推荐?不这样做。 HTTP is far better suited to the job 比 JavaScript (搜索引擎跟随它们,你可以说明它是否是永久的,它们更快,等等)。

失败了……

如果您想要立即重定向:

window.location.replace('http://example.com/');

这会将当前 URI 替换为浏览器历史记录中的新 URI,因此后退按钮不会将用户引导至立即将其再次向前抛出的页面。

如果您真的不想重定向,但想将用户发送到某处以响应事件:

window.location.href = 'http://example.com/';

记住要有一个非 JavaScript 的后备。链接通常是最好的选择,但它确实取决于上下文。

延时重定向是一个更糟糕的主意。使用它们的唯一原因是如果您想向用户显示消息 - 并且用户以不同的速度阅读内容(并让他们在执行其他操作时坐在另一个选项卡中)。如果消息足够重要,可以显示,那么在用户阅读并点击下一页的链接之前,它应该足够重要以留在屏幕上。

【讨论】:

【参考方案3】:

使用 JavaScript 重定向页面时要记住的重要一点是,始终提供非 JavaScript 重定向!一个链接就可以了,或者更好的是<META> 标签,例如:<meta http-equiv="refresh" content="2;url=http://example.com">

【讨论】:

【参考方案4】:

这些天来,我认为最推荐的方法是not to do javascript(或元)重定向。你真的需要吗?你能改用重定向 HTTP 标头吗?

W3C 的 Web 内容可访问性指南 (7.4) 也不鼓励创建自动刷新页面,因为大多数 Web 浏览器不允许用户禁用或控制刷新率

【讨论】:

以上是关于自动将某人重定向到另一个网页的最佳方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章

重定向到另一个网页

在 CakePHP 中 301 重定向页面的最佳方法是啥?

当 Web 应用程序进行维护时,重定向的最佳位置是啥?

Android 4 上的 html5 视频:播放全屏然后重定向到另一个网页 - 不工作

如何将用户重定向到另一个html页面的html页面上的“section”?

网页自动跳转/定时跳转/重定向功能的设置