onbeforeunload有个小毛病,就是页面刷新时,他还是会调用到onbeforeunload,为什么?其实刷新就相当于关闭了这个IE再重新打开的意思,因此还是会调用到onbeforeunload。
究竟怎么解决刷新不调用onbeforeunload呢?
- 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("是刷新而非关闭");
- }
- }