小编典典

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

all

我如何有一个JavaScript操作,它可能会对当前页面产生一些影响,但也会更改浏览器中的
URL,所以如果用户点击重新加载或书签,那么使用新的 URL?

如果后退按钮可以重新加载原始 URL,那也很好。

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


阅读 80

收藏
2022-04-21

共1个答案

小编典典

在 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改用。

2022-04-21