监听浏览器后退(不适配)
注意:电脑手机谷歌浏览器不适用,只会偶尔成功。发现问题所在谷歌浏览器需要用户进入页面有交互,如点击后才会生效监听浏览器后退,但是电脑360浏览器必现可以直接监听
1. 代码这样写就会浏览器历史压入一个历史并前进到此
history.pushState({title: 'vigoo', url: window.location.href}, null);
2. 通过监听浏览器后退,监听到的时候浏览器历史已经后退一步了
window.onpopstate = function (event: any) {
alert(document.location + ", state: " + JSON.stringify(event.state)); };
3. 具体实施:首先每次进网页都会压入一个历史并监听后退,当监听到后退后:点击确定调用history.back();(此方法调用监听不到),点击取消压入一个历史。这样就完成监听浏览器后退弹窗留住用户