如何,比如
点击后退浏览器自带后退按钮,页面不回退,alert(111);
点击前进按钮,页面不前进,alert(222);
js监控不了浏览器的操作,因为浏览器前进后退是系统级的,js没那权限。
下面有一些监听事件,或许对你有所帮助
//页面关闭时调用
$(window).on("unload", function(event){});
//页面刷新时调用
$(window).on('beforeunload', function(event) {});
//用户离开当前网页跳转到另外一个页面时触发
$(window).on('onpagehide', function(event) {});
//用户退出页面
$(window).on("onunload", function(event){});
或者你可以阻止浏览器的前进后退:
window.history.forward(-1); //禁止浏览器的前进与后退
如果你是为了防止用户提交表格再退回去重复提交,那么可以这样解决:
页面1是表单,页面2是提交成功页面,从A到B正常,从B按倒退到A就重复提交了。可以在服务器端生成一个唯一的字符串Str放到页面1的form里提交,一起存入数据库,当用户点击后退并选择重新提交时,这个Str拿去对比数据库已有的数据,这样就不怕重复了。
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
试一下window.onpopstate