我使用https://github.com/browserstate/history.js/
中的History.js在Chrome和Safari中遇到了一个奇怪的问题如果我点击几个不同的“.node”项目然后查看我的浏览器历史记录,我每次点击都有重复的条目,需要两次后退按钮才能返回上一个“真实”状态。我添加了一个console.log(id),可以确认该事件只触发一次。
在Firefox中它按预期工作。我只在Chrome和Safari中看到重复的历史记录项。
$( "body" ).delegate( ".node" , "click", function(){
id = $(this).data('id');
History.pushState({"Foo":"Bar","ID":id}, "Title for "+ id, "/item-"+id);
});
答案 0 :(得分:5)
我在Chrome中遇到了类似的问题(在IE和Firefox中没有发生),结果发现额外的历史记录条目没有被pushState添加,但是当我通过javascript更改了iframe上的src属性时发生了
即使他们是从远程站点加载(在这种情况下是Vimeo),他们在后退/前进按钮的历史记录中显示为当前页面的副本,我不得不多次点击返回。
我没有对此进行进一步测试,因此我不知道这是否是iframe独有的,或者是否可能是由于更改任何元素src属性引起的。