怎样用JS准确的判断浏览器刷新事件

因为需求,需要在页面中劫持刷新事件,找了下网上现有的方法都不好用,在关闭时也会起效。 谁有一个完美的刷新事件的判断方法。

阅读 27.1k
2 个回答
    <script language="javascript">   
        window.onbeforeunload = function() {   
            var n = window.event.screenX - window.screenLeft;   
            var b = n > document.documentElement.scrollWidth-20;   
            if(b && window.event.clientY < 0 || window.event.altKey){   
                alert("这是一个关闭操作而非刷新");   
                window.event.returnValue = ""; //此处放你想要操作的代码 
            }else{
                alert("这是一个刷新操作而非关闭");   
            }
        }  
    </script>

监听刷新就可以了

window.event.screenX 等值都为 undefined,只有 document.documentElement.scroll 有值。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题