在加载文档之前设置location.href,但是将URL添加到窗口历史

时间:2016-01-08 05:52:06

标签: javascript webkit location document history

根据规范,

  

href属性必须返回关联的当前地址   文档对象,作为绝对URL。

     

在设置时,如果Location对象的关联Document对象具有   完全加载,然后用户代理必须表现为assign()   已使用新值作为参数调用方法。除此以外,   用户代理必须像调用replace()方法一样   以新值为参数。

来源:http://www.w3.org/TR/2011/WD-html5-20110113/history.html#location

我有一个页面(比如页面“A”),用户可能会在文档完全加载之前开始与UI进行交互,其中一些交互会导致我设置一些分析值并重定向用户(比如页面“ B“)by

document.location.href = new_location;

但是,如果用户足够快地执行此操作,则页面“A”根本不包含在窗口历史记录中,即如果用户在登录页面“B”后按下“返回”按钮,则会将其重定向到任何页面在“A”之前出现(即页面“A”被完全跳过)。

我尝试使用document.location.assign没有运气,我试图将重定向包装在$(document).ready内而没有运气。那么,是否可以在文档加载之前设置location.href,但仍然将其添加到历史记录中(而不是替换)?

注意:我只在WebKit浏览器(Chrome,Opera,Safari测试)上遇到此问题,而不是在Firefox上。

0 个答案:

没有答案