防止用户刷新页面

问题描述 投票:0回答:4

我想阻止用户刷新页面,该怎么做?我一直在使用

e.preventDefault
方法,但它运行不正常。

javascript jquery html refresh preventdefault
4个回答
3
投票

你甚至可以使用window.onbeforeunload。

window.onbeforeunload = function() {
            return "you can not refresh the page";
        }

3
投票

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
})

参考:WindowEventHandlers.onbeforeunload


1
投票

尝试类似:

<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


0
投票

不建议这样做,但如果您想以任何可能的方式完全阻止用户刷新页面,您可以使用:

setInterval(function(){
  window.location.reload();
  window.stop();
},100)

它不仅会阻止刷新,还会阻止导航。

© www.soinside.com 2019 - 2024. All rights reserved.