繁体   English   中英

在加载 chrome 时触发 onpopstate 事件

[英]trigger on event onpopstate on load chrome

我正在处理禁用浏览器上的后退按钮的问题,所以我的方法是使用 onpopstate 事件,当页面加载成功时,然后我单击浏览器上的后退按钮,它不会触发 onpopstate 事件并且仍然可以导航到上一页,如果我在页面中执行任何操作,例如左键单击页面,然后单击浏览器上的后退按钮,它会触发 onpopstate 事件并阻止返回上一页。 这个问题刚刚发生在 chrome 上,safari 工作正常。 我尝试了很多实现,但它仍然不适用于 chrome 浏览器。 有没有人遇到过这个问题?

ngOnInit(){
   history.pushState(null, null, window.location.href);
   window.onpopstate = ()=>{
       history.go(1);
   }
}

可以使用具有 onPopState 侦听器的PlatformLocation

import { PlatformLocation } from '@angular/common'

(...)

constructor(location: PlatformLocation) {

    location.onPopState(() => {

        console.log('pressed back!');

    });

}

(...)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM