在浏览器中更改URL而不使用JavaScript加载新页面

我将如何执行一个JavaScript动作,该动作可能会对当前页面产生一些影响,但同时也会更改浏览器中的URL,因此,如果用户点击重新加载或添加书签,则会使用新的URL?

如果“后退”按钮将重新加载原始URL,那也很好。

我正在尝试在URL中记录JavaScript状态。

回答:

对于HTML 5,请使用history.pushState函数。举个例子:

<script type="text/javascript">

var stateObj = { foo: "bar" };

function change_my_url()

{

history.pushState(stateObj, "page 2", "bar.html");

}

var link = document.getElementById('click');

link.addEventListener('click', change_my_url, false);

</script>

和href:

<a href="#" id='click'>Click to change url to bar.html</a>


如果要更改URL而不在后退按钮列表中添加条目,请history.replaceState改用。

以上是 在浏览器中更改URL而不使用JavaScript加载新页面 的全部内容, 来源链接: utcz.com/qa/412138.html

回到顶部