我如何将用户从一个页面转向另一个页面,使用jQuery或纯粹的JavaScript?
当前回答
它适用于每个浏览器:
window.location.href = 'your_url';
其他回答
如果您更喜欢使用纯粹的JavaScript,我意识到使用document.location.href = “https://example.com” 或 window.location.href = “https://example.com” 会导致 Firefox 中的兼容性问题。
location.href = "https://example.com";
location.replace("http://example.com");
在我看来,这个问题已经解决了,祝你好运!
JavaScript 为您提供了许多方法,以获取和更改浏览器的地址栏中显示的当前 URL. 所有这些方法都使用位置对象,这是窗口对象的属性. 您可以创建一个新的位置对象,具有当前 URL。
var currentLocation = window.location;
一个URL的基本结构
<protocol>//<hostname>:<port>/<pathname><search><hash>
此分類上一篇
协议 - 指定协议名称用于访问互联网上的资源. (HTTP(没有SSL)或HTTPS(有SSL))主机名称 - 主机名称指定主机拥有资源. 例如, www.stackoverflow.com. 服务器提供服务,使用主机名称。
使用这些位置对象属性,您可以访问所有这些 URL 组件
现在,如果您想要更改一个页面或将用户转向另一个页面,您可以使用位置对象的href属性,如此。
您可以使用位置对象的 href 属性。
window.location.href = "http://www.stackoverflow.com";
位置对象也有这些三种方法
location.assign("http://www.stackoverflow.com");
location.replace("http://www.stackoverflow.com");
$(location).attr('href',url);
ECMAScript 6 + jQuery,85位元
$({jQueryCode:(url)=>location.replace(url)}).attr("jQueryCode")("http://example.com")
请不要杀了我,这是一个笑话,这是一个笑话,这是一个笑话。
这“提供了一个答案”,在这个意义上,它要求一个解决方案“使用jQuery”,这在这种情况下意味着以某种方式强迫它进入方程式。
Ferrybig 显然需要解释的笑话(仍然开玩笑,我确信在评论表格上有有限的选项),所以没有进一步的 ado:
其他答案是使用 jQuery 的 attr() 在位置或窗口对象不必要。
这个答案也滥用它,但更荒谬的方式. 而不是使用它来设置位置,它使用 attr() 恢复一个函数,设置位置。
“85比特”是指代码高尔夫,高尔夫显然不是你应该在代码高尔夫以外做的事情,而且这个答案显然不是真正的高尔夫。
基本上是克里斯蒂安。
这是很容易实现的,你可以使用:
window.location.href = "http://www.example.com/";
这将记住前一页的历史,所以可以通过点击浏览器的背面按钮返回。
或:
window.location.replace("http://www.example.com/");
此方法不记得前一页的历史,此情况下后按钮将被禁用。
使用 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);
}