什么是'数据'在window.history.replaceState

What is the 'data' in window.history.replaceState

本文关键字:history replaceState window 什么 数据      更新时间:2023-09-26

我们正在使用window.history.replacestate进行一个项目。可惜我们不太擅长javascript。

本质上我们是用它来代替任何数量的短链接到'根'链接。例如:

domain.com/fJfk8
domain.com/9dkDl
domain.com/fjgdD

会显示为:

domain.com/nice_url

它不需要工作,所以我们会把javascript在页面和浏览器中,它做得很好,如果它没有,他们得到短代码。

注意:we 要历史记录!

所以我们使用:

window.history.replaceState('Object','Nice URL Title', '/nice_url');

问题是,这似乎工作,但我们不理解"对象"(数据)部分。

它到底是什么?

您可以将Object参数设置为任意数据,这些数据将在popstate事件中可用的event对象的state参数中可用。

换句话说,你可以将它设置为任何你想要的,以帮助你在用户浏览他们的历史时将网页恢复到所需的状态。

有关更多信息,请参阅MDC关于windows .history的文档。

window.history.replaceState({
    foo: 'bar'
}, 'Nice URL Title', '/nice_url');
window.onpopstate = function (e) {
    if (typeof e.state == "object" && e.state.foo == "bar") {
        alert("Blah blah blah");
    }
};
window.history.go(-1);