以下适用于 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 也是如此。
在这里小提琴:http: //jsfiddle.net/wYV9d/3/