【发布时间】:2015-12-25 01:53:52
【问题描述】:
这可能是一个非常菜鸟的问题,但我无法在 SO 上找到任何可以解决的问题。我在逻辑上有一个类似这样的 JS sn-p:
var return_data = hr.responseText;
if(return_data.indexOf('Are you sure') > -1){
// if return_data contains the text "Are you sure," redirect to a new page
var newurl = '/a-s/#/dictionary/' + conjugateterm;
window.location.assign(newurl);
}
else {
// if return_data contains the text "Are you sure," show returned_data as usual...
}
这个函数工作正常,只是它似乎劫持了我浏览器的后退按钮!我知道 JavaScript 的 location.assign() 方法不会删除浏览器历史记录,这应该意味着后退按钮可以正常工作,但事实并非如此。奇怪的是,我可以按预期在浏览器历史记录中看到最后访问的页面,但是单击后退按钮只是刷新当前页面,而不是返回到历史记录中显示的最后一页。这是location.assign() 的已知行为吗?如果是这样,有什么办法可以纠正这种情况吗?
【问题讨论】:
标签: javascript back browser-history