首页 > 解决方案 > 使用 replaceState 时不会触发 onpopstate 事件

问题描述

在我的应用程序中,当用户通过导航栏导航到页面时,它会将其内容加载到 iframe 中。iframe 正在向历史推送一个新条目,我也想在我的地址上反映 url,所以我习惯history.replaceState这样做。问题是,当我尝试收听 window.onpopstate 时,在浏览器中单击后退和前进时不会触发事件。父应用程序是 Angular 5 应用程序,而 iframe 内的子应用程序也是 Angular 5 应用程序。知道在这种情况下为什么以及如何触发 onpopstate 事件吗?

谢谢!

标签: javascriptangulariframepopstate

解决方案


history.replaceState不会在堆栈上放置新的历史条目,因此您将无法导航到以前的状态。改为使用history.pushState


推荐阅读