我从来没有学过JavaScript,但我想这是一个非常简单的问题.只是想知道这些天最常见的方法.
// 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";
编辑:看起来发布更好答案的用户已经离开了SO,我在这里巩固了他的答案.
大多数建议?不要这样做.HTTP是远远的工作更适合比JavaScript是(搜索引擎跟随他们,如果它是永久的还是不是你可以声明,他们更快,等等).
失败了......
如果您想立即重定向:
window.location.replace('http://example.com/');
这将使用浏览器历史记录中的新URI替换当前URI,因此后退按钮不会将用户置于立即再次向前抛出的页面上.
如果您不想真正重定向,但希望将用户发送到某个地方以响应事件:
window.location.href = 'http://example.com/';
请记住要使用非JavaScript后备版.链接通常是最佳选择,但它确实取决于上下文.
时间延迟重定向是一个更糟糕的想法.使用它们的唯一原因是,如果您想向用户显示消息 - 并且用户以不同的速度阅读内容(并且在他们执行其他操作时让他们坐在另一个选项卡中).如果消息的重要性足以显示,那么在用户阅读并点击指向下一页的链接之前,它应该非常重要.
使用JavaScript重定向页面时要记住的一件重要事情是,始终提供非JavaScript重定向!链接可以做或更好的标记,例如: