事情是这样的,在一个历史记录指针应该在[1, 2, 3, 4]的[3]位置的情况下,出现了历史记录指针指向了[4]的情况,而且是在正常后退事件发生之后,(据我所知)没有代码操作的情况发生的。
这是一个断断续续困扰了我一个多月的问题……
问题出在common.js里有一个无差别式pushState的操作,自己埋下的坑搞了自己辣么久……
教训:对自己做过的事情要有印象;如果没有印象,就要巨细无遗全部看一遍有关的代码,不可抱有侥幸心理相信问题原因只出在一个地方。
但也有一点值得鼓励的是,填好坑之后运作正确,证明我对HTML5 history API的理解是正确的:)