实现原理:
通过获取事件源位置,判断是否为右上角关闭按钮触发,从而区分关闭窗口和页面刷新动作
代码如下:
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){
// 执行相关操作
}
}