使用jQuery或纯 JavaScript 如何将用户从一页转到另一页?
当前回答
JavaScript 为您提供了许多获取和更改当前在浏览器地址栏中显示的 URL 的方法。 所有这些方法都使用位置对象, 这是窗口对象的属性。 您可以创建一个新的位置对象, 其当前 URL 如下 。
var currentLocation = window.location;
URL 基本结构
<protocol>//<hostname>:<port>/<pathname><search><hash>
协议 -- 指定协议名称用于访问互联网上的资源。 (HTTP(没有 SSL)或HTPS(没有 SSL))
主机名 -- -- 主机名指定拥有资源的主机名。例如,www.stackoverflow.com。一个服务器使用主机名提供服务。
端口 -- -- 用于识别因特网或其他网络电文到达服务器时要发送到的具体过程的端口号。
路径 - 路径为网络客户端想要访问的主机内的具体资源提供信息。 例如, stackoverflow. com/ index.html 。
查询 -- -- 查询字符串跟随路径组件,并提供一个资源可用于某种目的的信息字符串(例如,作为搜索的参数或作为要处理的数据)。
hash - URL 的锁定部分, 包括 hash 符号 (#) 。
使用这些位置对象属性,您可以访问所有这些 URL 组件
- 散数- 发送或返回 URL 的锁定部分。
- 主机主机- 发送或返回 URL 主机名和端口。
- 主机名- 发送或返回 URL 主机名。
- 小时( href)- 设置或返回整个 URL 。
- 路径名- set 或返回 URL 的路径名。
- 端口端口- set 或返回服务器用于 URL 的端口号。
- 议定书议定书- 发送或返回 URL 的协议。
- 搜索搜索- set 或返回 URL 的查询部分
如果您现在想要更改页面或将用户重定向到其他页面, 您可以使用该页面href
像这样的位置对象的属性
您可以使用位置对象的 href 属性。
window.location.href = "http://www.stackoverflow.com";
位置对象还有这三种方法
- (指定)- 装入新文档。
- 重新装入()- 重新装入当前文档。
- (替换)-- -- 将当前文档替换为新文档
您可以使用指派 () 并替换将重定向到其它页面的方法
location.assign("http://www.stackoverflow.com");
location.replace("http://www.stackoverflow.com");
转让 () 和替换 () 如何不同- 替换() 方法与指定() 方法() 之间的差别是,替换() 从文档历史中删除当前文档的 URL, 意思是无法使用“ 回溯” 按钮返回原始文档。所以,如果您想要装入新文档,则使用指定() 方法, 并想要给此选项返回原始文档 。
您可以使用jj 查询像这样
$(location).attr('href',url);
这样你就可以把用户 转到其他的URL上。
其他回答
使用location.replace()
这将调整您的方向, 但不保存上一页的历史。 提交表格时最好使用此选项 。
但当你想保留自己的历史时,你必须使用location.href=//path
.
实例:
// Form with steps
document.getElementById('#next').onclick = function() {
window.location.href='/step2' // Iteration of steps;
}
// Go to next step
document.getElementById('#back').onclick = function() {
window.history.back();
}
// Finish
document.getElementById('#finish').onclick = function() {
window.location.href = '/success';
}
// On success page
window.onload = function() {
setTimeout(function() {
window.location.replace('/home'); // I can't go back to success page by pressing the back button
},3000);
}
这是重定向到其他页面的代码 超过10秒的超时
<script>
function Redirect()
{
window.location="http://www.adarshkr.com";
}
document.write("You will be redirected to a new page in 10 seconds.");
setTimeout('Redirect()', 10000);
</script>
您也可以这样操作, 点击按钮时使用位置. 指派 :
<input type="button" value="Load new document" onclick="newPage()">
<script>
function newPage() {
window.location.assign("http://www.adarshkr.com")
}
</script>
警告: 警告:答案只是作为一种可能的解决办法而已;显然否最好的解决方案,因为它需要jQuery。 相反,它更喜欢纯 JavaScript 解决方案。
$(location).prop('href', 'http://stackoverflow.com')
您可以使用:
window.location.replace("http://www.example.com/");
缩略replace()
方法不会保存会话历史中的源页, 因此用户无法使用后端按钮返回, 然后再被重定向 。 注意: 在此情况下, 浏览器后端按钮将被禁用 。
但是,如果您想要与点击链接相同的效果,您应该选择:
window.location.href = "http://www.example.com/";
在此情况下, 浏览器后端按钮将激活 。
原始问题:“如何使用 jQuery 重新定向?” , 因此, 答案执行 jQuery 补充使用案例 。
重定向到 JavaScript 的页面 :
window.location.href = "/contact/";
或者,如果您需要延迟:
setTimeout(function () {
window.location.href = "/contact/";
}, 2000); // Time in milliseconds
jjQuery 允许您从网页中轻松选择元素。 您可以在页面中找到任何您想要的内容, 然后使用 jQuery 添加特殊效果, 对用户动作作出反应, 或者在您选中的元素内或外显示内容并隐藏内容。 所有这些任务都以知情开始如何选择元素或事件.
$('a,img').on('click',function(e){
e.preventDefault();
$(this).animate({
opacity: 0 //Put some CSS animation here
}, 500);
setTimeout(function(){
// OK, finished jQuery staff, let's go redirect
window.location.href = "/contact/";
},500);
});
想象一下有人写了一个脚本/ 插件, 包含 10000 行代码 。 如果有 jQuery , 您可以用一两行代码连接到这个代码 。
推荐文章
- 使用jQuery改变输入字段的类型
- 在JavaScript中,什么相当于Java的Thread.sleep() ?
- 使用jQuery以像素为整数填充或边距值
- 检查是否选择了jQuery选项,如果没有选择默认值
- Next.js React应用中没有定义Window
- 如何重置笑话模拟函数调用计数之前,每次测试
- 如何强制一个功能React组件渲染?
- 在javascript中从平面数组构建树数组
- 将Dropzone.js与其他字段集成到现有的HTML表单中
- 如何在AngularJS中观察路由变化?
- JavaScript DOM删除元素
- 将dd-mm-yyyy字符串转换为日期
- Javascript复选框onChange
- Javascript函数前导bang !语法
- 如何在页面上遍历所有DOM元素?