问题:通过onpopstate事件监听浏览器的后退,如果页面没有进行其他操作,直接点击浏览器的后退按钮
,在新版谷歌上不生效
// a页面
<body>
<a href="b.html">to b</a>
</body>
<body>
<input type="text">
<button id="btn">back</button>
<script>
onload=function() {
document.getElementsByTagName('input')[0].value = '123'
}
pushHistory();
window.addEventListener("popstate", function (e) {
alert("我监听到了浏览器的返回按钮事件啦");//根据自己的需求实现自己的功能
}, false);
function pushHistory() {
var state = {
title: "title",
url: "#"
};
window.history.pushState(state, "title", "#");
}
window.document.getElementById("btn").addEventListener('click',function(){
window.history.back()
})
</script>
</body>
原因:https://github.com/luokuning/blogs/issues/3
如果页面页面会发生点击或者输入等一些操作,那是没问题的,如果页面一进入,什么都不干就点浏览器的回退按钮,是不会触发的,所以应用场景是页面有进行操作的时候可以用