【发布时间】:2020-02-25 16:17:06
【问题描述】:
状态对象是一个 JavaScript 对象,它与 pushState() 创建的新历史条目。
https://developer.mozilla.org/en-US/docs/Web/API/History_API#The_pushState()_method
是否可以使用 Chrome 开发工具检查此状态对象的内容?
【问题讨论】:
状态对象是一个 JavaScript 对象,它与 pushState() 创建的新历史条目。
https://developer.mozilla.org/en-US/docs/Web/API/History_API#The_pushState()_method
是否可以使用 Chrome 开发工具检查此状态对象的内容?
【问题讨论】:
state 对象是history 对象的属性。您可以通过以下方式在控制台中访问它:
window.history.state
var back = window.history.back;
window.history.back = function() {
console.log("location: " + document.location + ", state: " +
JSON.stringify(window.history.state));
return back.apply(this, arguments);
}
history.pushState({page: 1}, "title 1", "?page=1");
history.pushState({page: 2}, "title 2", "?page=2");
history.pushState({page: 3}, "title 3", "?page=3");
history.pushState({page: 4}, "title 4", "?page=4");
window.onpopstate = function(event) {
console.log("location: " + document.location + ", state: " +
JSON.stringify(event.state));
};
history.pushState({page: 1}, "title 1", "?page=1");
history.pushState({page: 2}, "title 2", "?page=2");
history.pushState({page: 3}, "title 3", "?page=3");
history.pushState({page: 4}, "title 4", "?page=4");
第二个不记录当前状态,所以你必须先这样做。
出于安全原因,无法查看历史堆栈。
【讨论】: