我正在学习如何使用pushState将网址导航到确切的位置。单击该按钮时,URL更改为“上载”,但不会导航到URL页面。这就是我尝试过的;
home.html
<button onclick="loadUpload()">Upload Page</button>
<div id="upload"></div>
<script>
function loadUpload(){
history.pushState({}, "", "/upload/");
document.getElementById("upload");
}
</script>
答案 0 :(得分:1)
pushState
的整个点是它不会触发导航。这是一种机制,它表示“我正在使用JavaScript更改DOM的状态,结果状态与访问此URL时所获得的状态相同”(同时使浏览器内置的后退和前进导航按钮起作用)。
如果要使用JavaScript 导航,请为location.href
分配一个新值。
location.href = "/upload/"
但是,由于您的JavaScript除了导航以外不执行任何操作,因此您应该首先使用常规链接:
<a href="/upload/">Upload Page</a>