history.back和history.go方法不是根据服务器的记录,而是根据客户机上的历史记录来的,可能window.location.replace方法是直接修改了当前页面处的历史记录;

window.location.href方法是正常的打开地址,所以新地址在历史记录中的操作是添加,但window.location.replace方法应该是修改了当前页面的历史记录。

假如你浏览过程如下:
A > B > C >(href) D > E
那么当你back时就是:
E > D > C >B > A
但如果是:
A > B > C >(replace) D > E
可就你back时就是:
E > D > B > A


小渝人儿
1.1k 声望849 粉丝

前端工程师