我有一个网站,用户可以通过在单个页面上滑动一系列项目来查看其内容。我使用的是history.replaceState()来实际更改当用户滑动到下一个项目(尽管他停留在同一页面上)时浏览器显示的URL。
几年前它一直工作良好,直到最近,我们发现如果您离开该页面并使用history.go(-1)返回,它可以随机显示该页面的副本。几天前。甚至更糟-它可能会与其他使用该浏览器的用户显示相同的页面。
基本上,replaceState()会以某种方式缓存页面,然后当您使用历史记录api导航回该URL时,它不会显示该页面的最新副本,而是一个较早时间的副本。
经过大量测试后,我确认此行为仅在Chrome网络浏览器中发生,无论是台式机版本还是移动版本。 Firefox,Safari,IE和大多数移动浏览器均可正常运行。
所以我一直想知道这是一个实际的Chrome错误还是我做错了什么?