自动将某人重定向到另一个网页的最佳方法是啥?
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 浏览器不允许用户禁用或控制刷新率
【讨论】:
以上是关于自动将某人重定向到另一个网页的最佳方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章
Android 4 上的 html5 视频:播放全屏然后重定向到另一个网页 - 不工作