使用jQuery或纯 JavaScript 如何将用户从一页转到另一页?
当前回答
var url = 'asdf.html';
window.location.href = url;
其他回答
标准“ vanilla” JavaScript 重定向页面的方法
window.location.href = 'newPage.html';
或更简单: (自window
全球)
location.href = 'newPage.html';
如果你在这里,因为你损失HTTP_REFERERER 重定向时, 继续读取 :
(否则忽略此最后部分)
下一节针对的是那些使用HTTP_REFERER
作为许多安全措施之一的安全措施(尽管这不是一个伟大的保护措施)。因特网探索者 8使用任何形式的 JavaScript 页面重定向( 位置.href 等) 时, 这些变量会丢失 。
我们将在下面实施一个替代方案:IE8 更低这样我们就不会失去 HTTP_REFERER。 否则,你几乎总是可以简单地使用 HTTP_REFERERER。window.location.href
.
测试HTTP_REFERER
(URL 粘贴、 会话等)能够帮助判断请求是否合法 。(注:正如Droop在评论中指出的,也有一些办法可以对这些裁判员进行变通/补充)
简单的交叉浏览器测试解决方案( 返回窗口. place.href 用于 Internet Explorer 9+ 和所有其他浏览器)
用法 :redirect('anotherpage.aspx');
function redirect (url) {
var ua = navigator.userAgent.toLowerCase(),
isIE = ua.indexOf('msie') !== -1,
version = parseInt(ua.substr(4, 2), 10);
// Internet Explorer 8 and lower
if (isIE && version < 9) {
var link = document.createElement('a');
link.href = url;
document.body.appendChild(link);
link.click();
}
// All other browsers can use the standard window.location.href (they don't lose HTTP_REFERER like Internet Explorer 8 & lower does)
else {
window.location.href = url;
}
}
这样做有许多方法。
// window.location
window.location.replace('http://www.example.com')
window.location.assign('http://www.example.com')
window.location.href = 'http://www.example.com'
document.location.href = '/path'
// window.history
window.history.back()
window.history.go(-1)
// window.navigate; ONLY for old versions of Internet Explorer
window.navigate('top.jsp')
// Probably no bueno
self.location = 'http://www.example.com';
top.location = 'http://www.example.com';
// jQuery
$(location).attr('href','http://www.example.com')
$(window).attr('location','http://www.example.com')
$(location).prop('href', 'http://www.example.com')
使用 :
function redirect(a) {
location = a
}
并称之为:redirect([url]);
没必要href
之后location
,因为它是隐含的。
var url = 'asdf.html';
window.location.href = url;
在 JavaScript 和 jQuery 中, 我们可以使用以下代码将一页改到另一页 :
window.location.href="http://google.com";
window.location.replace("page1.html");