Google chrome devtools 如何检查通过Chrome devtools中的window.history.pushState()存储的状态对象?

Google chrome devtools 如何检查通过Chrome devtools中的window.history.pushState()存储的状态对象?,google-chrome-devtools,Google Chrome Devtools,状态对象是一个JavaScript对象,它与 pushState()创建的新历史记录条目 是否可以使用Chrome devtools检查此状态对象的内容?状态对象是历史对象的属性。您可以通过以下方式在控制台中访问它: window.history.state 例子 每次从历史堆栈中弹出时都要记录日志 方法1: 方法2: 第二个不记录当前状态,所以必须先记录 出于安全原因,无法查看历史堆栈。我可以轻松查看其他历史步骤的所有其他状态吗?@daniel.sedlacek出于安全原因,无法查看堆

状态对象是一个JavaScript对象,它与 pushState()创建的新历史记录条目


是否可以使用Chrome devtools检查此状态对象的内容?

状态对象是历史对象的属性。您可以通过以下方式在控制台中访问它:

window.history.state
例子

每次从历史堆栈中弹出时都要记录日志 方法1: 方法2: 第二个不记录当前状态,所以必须先记录


出于安全原因,无法查看历史堆栈。

我可以轻松查看其他历史步骤的所有其他状态吗?@daniel.sedlacek出于安全原因,无法查看堆栈中以前的所有状态。您可以编写一些代码,以便在每次弹出时将状态对象记录到控制台。查看我的更新答案。这就是为什么我希望堆栈可以在开发工具中访问,而不是通过控制台中的JS访问。但是谢谢你的回答。
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");