javascript - 使用 replaceState 时不会触发 onpopstate 事件
问题描述
在我的应用程序中,当用户通过导航栏导航到页面时,它会将其内容加载到 iframe 中。iframe 正在向历史推送一个新条目,我也想在我的地址上反映 url,所以我习惯history.replaceState
这样做。问题是,当我尝试收听 window.onpopstate 时,在浏览器中单击后退和前进时不会触发事件。父应用程序是 Angular 5 应用程序,而 iframe 内的子应用程序也是 Angular 5 应用程序。知道在这种情况下为什么以及如何触发 onpopstate 事件吗?
谢谢!
解决方案
history.replaceState
不会在堆栈上放置新的历史条目,因此您将无法导航到以前的状态。改为使用history.pushState
。
推荐阅读
- c# - 找不到 Nlog 或其依赖项之一 - edge-js
- spring-boot - Can we use netflix-eureka as external load balancer
- c# - my grid view does not refresh after sorting
- email - 如何使用颤振发送电子邮件?
- node.js - Routing MQTT protocol to PM2
- c# - Net Core:保存图像 URL 和描述列表的最佳方法
- c# - 场景重新加载后 MissingReferenceException
- ios - 如何使用本地 podspec 项目进行开发
- android - Android Seekbar does not update no matter what I try
- reactjs - React execute script if window width