我正在使用window.location.href来重定向我的浏览器,我不确定为什么一个有效,一个没有。当我使用相对链接时,它会刷新当前页面。当我使用完整的URL时,它会重定向。我所在的页面和Process.aspx页面位于同一目录级别。所以我应该能够有一个相对链接?当我这样做虽然它只是重新加载我正在的当前页面。关于window.location.href我错过了什么基本想法?
$(document).ready(function() {
$( "button" )
.button();
$("#cancel")
.click(function( event ) {
alert("click");
//Below Line Doesn't work
window.location.href = "/Process.aspx";
//Below Line Does work
window.location.href = "http://localhost:65215/Process.aspx";
});
});
答案 0 :(得分:5)
从Mozilla Developer Network documentation开始,href
是该网页的完整网址。该列表中唯一的相对属性是path
,它相对于主机或页面域。
您可能还想查看使用reload
或replace
方法。见How to redirect to another webpage in JavaScript/jQuery?
答案 1 :(得分:1)
尝试:location.href = location.origin + "/Process.aspx";
答案 2 :(得分:0)
你可以尝试只刷新页面的黑客,你可以实现onclick="location.href='wherever'"
,第一个href="/Process.aspx"
onclick
将被解雇,href
会带你回来。
答案 3 :(得分:0)
试试这个:
window.location = window.location.protocol +
'//' +
window.location.hostname +
window.location.pathname;
答案 4 :(得分:0)
有点边缘情况,但如果您将事件侦听器添加到其中包含锚标记的容器 div,并且您想让每个容器 div 而不仅仅是锚标记可点击,然后重定向到包含在锚标记的 href attribute
中的链接。在这种情况下,您希望包含 event.preventDefault()
以防止这种行为。
原生 JS
document.getElementById("myAnchorDiv").addEventListener("click", function(event){
event.preventDefault();
//get url
URL = ...
//Below Line should now work
window.location.href = URL;
});
jQuery
$("#myAnchorDiv").on("click", function( event ) {
event.preventDefault();
//get url
URL = ...
//Below Line should now work
window.location.href = URL;
});
如果您愿意,您当然可以将最后两行代码合并为一行代码,即类似于 window.location.href = [your URL];