我们正在使用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');
问题是这似乎有效,但我们不理解'对象'(数据)部分。
究竟是什么?
答案 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);