在测试document.location.href时,我观察到,当用户发起一个导致
javascript分配给document.location.href的操作时,新的URL被添加到历史记录中.
但是,如果通过JavaScript发起调用,这是因为XMLHTTPRequest的状态更改的结果,历史记录中当前页面的条目将被覆盖.我有正确的表征吗?在后一种情况下,有没有办法让页面变化反映在历史上?
解决方法
我面对同样的问题,发现这种对我有用的解决方法
代替
function onAjaxCallback(evt){ location.href=newLocation; }
我围绕一个setTimeout包装了location.href.似乎要做的伎俩我的历史表现不错希望有帮助
function onAjaxCallback(evt){ setTimeout(function(){ location.href=newLocation; },0) }