我们正在开发一个使用 window.history.replacestate 的项目。不幸的是,我们不太擅长 javascript。
本质上,我们使用它来替换任意数量的“根”链接的短链接。例如:
domain.com/fJfk8
domain.com/9dkDl
domain.com/fjgdD
都会“出现”为:
domain.com/nice_url
它不必工作,所以我们将把 javascript 放在页面中,然后在浏览器中它会很好,如果没有,他们会得到简码。
注意:我们不想要历史!
所以我们只是使用:
window.history.replaceState('Object','Nice URL Title', '/nice_url');
问题是这似乎有效,但我们不理解“对象”(数据)部分。
它到底是什么?
最佳答案
您可以将 Object
参数设置为任意数据,这些数据将在 event
对象的 state
参数中可用,该参数可用于popstate
事件。
换句话说,您可以将其设置为任何您想要的,以帮助您在用户浏览其历史记录时将网页恢复到所需的状态。
有关详细信息,请参阅 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);
关于javascript - window.history.replaceState 中的 'data' 是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7468119/