我想阻止用户刷新页面,该怎么做?我一直在使用
e.preventDefault
方法,但它运行不正常。
你甚至可以使用window.onbeforeunload。
window.onbeforeunload = function() {
return "you can not refresh the page";
}
HTML 规范规定作者应该使用
Event.preventDefault()
方法而不是使用 Event.returnValue
来提示用户。
window.addEventListener('beforeunload', function (evt) {
// Recommended
evt.preventDefault()
// Included for legacy support, e.g. Chrome/Edge < 119
evt.returnValue = true
})
尝试类似:
<script type="text/javascript">
// Callback
window.onbeforeunload = function(e) {
// Turning off the event
e.preventDefault();
}
</script>
关于这些功能的一些基本解释
阻止默认: http://www.w3schools.com/jsref/event_preventdefault.asp
卸载前: http://www.w3schools.com/jsref/event_onbeforeunload.asp
不建议这样做,但如果您想以任何可能的方式完全阻止用户刷新页面,您可以使用:
setInterval(function(){
window.location.reload();
window.stop();
},100)
它不仅会阻止刷新,还会阻止导航。