我正在为我的Web应用使用History API,但是有一个问题。我通过Ajax调用更新页面上的一些结果,并使用history.pushState()
来更新浏览器的位置栏而不重新加载页面。然后,当单击后退按钮时,我使用window.popstate
以便恢复先前的状态。
这个问题是众所周知的——Chrome 和Firefox对popstate
事件处理不同。虽然Firefox在第一次加载时不会触发它,但Chrome会。 我想要像Firefox一样,不要在加载时触发该事件,因为它只是在加载时更新了完全相同的结果。除了使用History.js之外,是否有其他解决方法?我不想使用它的原因是——它本身需要太多的JS库,而且由于我需要将其实现在已经有太多JS的CMS中,因此我希望将放入其中的JS数量最小化。
所以,我想知道是否有办法使Chrome在加载时不触发popstate
,或者是否有人尝试过将所有库混合在一起成为一个文件使用History.js。