使用jQuery或纯 JavaScript 如何将用户从一页转到另一页?
当前回答
这样做有三个主要途径,
window.location.href='blaah.com';
window.location.assign('blaah.com');
还有...
window.location.replace('blaah.com');
最后一个是最好的, 用于传统的重定向, 因为它不会保存您在搜索历史中被重定向之前的页面。 但是, 如果您只想用 JavaScript 打开一个标签, 您可以使用上述任何选项 。1
爱迪特:window
前缀是可选的 。
其他回答
# HTML 页面使用 jQuery/JavaScript 方法重定向
尝试此示例代码 :
function YourJavaScriptFunction()
{
var i = $('#login').val();
if (i == 'login')
window.location = "Login.php";
else
window.location = "Logout.php";
}
如果您想要给完整 URL 提供完整 URLwindow.location = "www.google.co.in";
.
标准“ 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;
}
}
基本上jj 查询只是一个JavaScript 贾斯克里普特和做一些诸如转向在此情况下, 您可以使用纯 JavaScript, 这样您就有三个选择, 使用 vanilla JavaScript :
(1) 使用地点替换,这将取代页面的当前历史,这意味着无法使用后退按钮返回原始页面。
window.location.replace("http://stackoverflow.com");
2) 使用地点指派,这将保留您的历史,如果使用后按钮,您可以回到原始页面:
window.location.assign("http://stackoverflow.com");
3) 我建议使用其中一种方法, 但这可能是使用纯JavaScript的第三个选择:
window.location.href="http://stackoverflow.com";
您也可以在 jQuery 中写入一个函数来处理它, 但由于它只是一行纯 JavaScript 函数, 您也可以在 jQuery 中写入一个函数来处理它, 但由于它只是一行纯 JavaScript 函数, 您也可以使用所有上面没有窗口的函数, 如果您已经进入窗口范围, 例如window.location.replace("http://stackoverflow.com");
可以是location.replace("http://stackoverflow.com");
我还在下面的图像上展示了所有这些照片:
我们不能简单地使用 jQuery 重置
j/ 查询没有必要,window.location.replace(...)
最好模拟 HTTP 重定向 。
window.location.replace(...)
优于使用window.location.href
,因为replace()
用户不会陷入永无止境的后端故障中。
如果您想要模拟某人点击链接, 请使用location.href
如果您想要模拟 HTTP 重定向,请使用location.replace
例如:
// similar behavior as an HTTP redirect
window.location.replace("http://stackoverflow.com");
// similar behavior as clicking on a link
window.location.href = "http://stackoverflow.com";
单页应用在同一申请路线内
window.location.pathname = '/stack';
JavaScript :
location.href = "http://stack.com";
window.location = "http://stack.com";
jj 查询 :
$(location).attr('href', "http://www.stack.com");
$(window).attr('location', "http://www.stack.com");
角形 4
import { Router } from '@angular/router';
export class NavtabComponent{
constructor(private router: Router) {
}
this.router.navigate(['bookings/taxi']);
}