我有一个名为history
的javascript对象。在测试我的应用程序时,在chrome上获得完全不可预测的结果。
在firefox上我的应用程序运行良好:当我console.log(history)
获得关注屏幕时
但是在Chrome上关注
当我第一次看到这个屏幕时,我想也许镀铬会添加一些其他细节,如长度和状态。但事实上,当我在chrome上遍历对象(如下面的例子)时,它首先输出state
并将值打印为null。
$.each(history, function (hash,files) { ...
有趣的是,相同的代码在firefox上运行就像魅力一样。
我做错了什么?
答案 0 :(得分:1)
由于window.history冲突,您无法使用变量历史记录将其更改为其他内容。
答案 1 :(得分:1)
您不应该定义名为history
的变量,因为它已经是Web API接口的一部分,
提供了一个操作浏览器会话的界面 历史记录(在当前页面所在的选项卡或框架中访问的页面 载入) - Window.history (Web API Interfaces | MDN)
它包含在window
对象下,因此它是网页中的全局变量。你不能覆盖它,但它取决于浏览器哪一个会先于另一个。