很多时候需要关闭页面时触发一个函数,比如session需要在关闭页面移除,但是刷新页面时并不需要移除,这就需要只有关闭页面才触发函数,大家知道,onunload()函数在页面不加载是触发,也就是关闭以及刷新都会触发。下面是我总结的一个屡试不爽的方法:

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("关闭页面时触发");

}else{

alert("刷新页面时触发");

}

}