我使用历史应用程序接口为我的网络应用程序,有一个问题。
我使用 Ajax 调用来更新页面上的一些结果,并使用 history.pushState()
来更新浏览器的位置栏,而无需重新加载页面。然后,当然,我使用 window.popstate
以便在单击后退按钮时恢复以前的状态。
这个问题是众所周知的ーー Chrome 和 Firefox 对待 popstate
事件的方式不同。火狐在第一次加载时没有启动,但 Chrome 启动了。我希望拥有火狐风格,而不是在加载时启动事件,因为它只是在加载时用完全相同的结果更新。除了使用 V 史,还有其他解决办法吗?我不喜欢使用它的原因是ーー它本身需要太多的 JS 库,而且,由于我需要在一个已经有太多 JS 的 CMS 中实现它,所以我想尽量减少我放入的 JS。
所以,想知道是否有一种方法可以让 Chrome 不会在加载时启动 popstate
,或者,也许,有人试图使用 History.js 将所有的库混合到一个文件中。