以下内容适用于 Chrome 和 Firefox,但不适用于 Safari (6.0.2):
var data = [];
data.Message = "hi!"
history.pushState({Data:data}, '', document.location.href);
console.log(history);
alert(history.state.Data.Message);
在 Safari 中,历史状态的控制台日志未定义,消息也是如此。对于replaceState也是如此。
最佳答案
这是因为我将 Data 创建为数组而不是对象。
var data = {};
工作得很好。
关于javascript - Safari 中的历史记录 API - PushState/replaceState - 状态未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15592580/