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>
首先判断浏览器的类型,简便可用navigator.userAgent()获取浏览器的字符串,与浏览器类型做查找即可。 目前对Chrome和firfox区分关闭和刷新成功。 浏览器为firfox时flag为false,Chrome为true。window.onload(){window.onunload = function() {if(flag){console.log('关闭操作')}else {console.log('刷新操作')}}window.onbeforeunload = function () {if(!flag){console.log('关闭操作')}else{console.log('刷新操作')}}}