javascript - Safari 中的历史记录 API - PushState/replaceState - 状态未定义

标签 javascript html safari pushstate

以下内容适用于 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/

最佳答案

这是因为我将 Data 创建为数组而不是对象。

var data = {};

工作得很好。

关于javascript - Safari 中的历史记录 API - PushState/replaceState - 状态未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15592580/

相关文章:

javascript - 当元素可见时运行动画 - 自定义 javascript

javascript - 基于矢量的 HTML Canvas 绘图

css - Mobile Safari 不接受 Century Gothic

javascript - 使用 jQuery 在单击的按钮上方添加内容时防止页面移动

javascript - 单击处理程序在同一元素上被调用两次

javascript - 将 Rally.ui.chart.Chart 图表放入容器内

javascript - 在 Mac OS X 上禁用滚动 Safari 9

javascript - HTML5 和 JavaScript 中每个音频播放器的音量 slider

html - X 轴和 Y 轴在过渡 CSS 中颠倒了吗?

javascript - chrome 中奇怪的 console.logbehavior