window.history.replaceState中的'data'是什么

时间:2011-09-19 08:20:56

标签: javascript html5

我们正在使用window.history.replacestate开发一个项目。不幸的是我们不是很擅长javascript。

基本上我们使用它来替换“root”链接的任意数量的短链接。例如:

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

将全部“显示”为:

domain.com/nice_url

它没有必要工作所以我们将javascript放在页面中,然后在浏览器中它会很好,如果没有,它们会获得短代码。

注意:我们想要历史记录!

所以我们只是使用:

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

问题是这似乎有效,但我们不理解'对象'(数据)部分。

究竟是什么?

1 个答案:

答案 0 :(得分:3)

您可以将Object参数设置为arbritary数据,该数据将在state事件中可用的event对象的popstate参数中提供。< / p>

换句话说,您可以将其设置为您想要的任何内容,以帮助您在用户浏览其历史记录时将网页还原到所需的状态。

有关详细信息,请参阅MDC documentation on window.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);