日期:2014-05-16  浏览次数:20386 次

Javascript浏览器关闭与刷新判断
Javascript 运用onunload 事件判断浏览器是刷新还是关闭窗口,Onunload,onbeforeunload 都是在刷新或关闭时调用,可以在script 脚本中通过window.onunload 来指定或者在body 里指定,区别在于 onbeforeunload 在onunload 之前执行,它还可以阻止onunload 的执行。

Onbeforeunload 也是在页面刷新或关闭时调用,Onbeforeunload 是正要去服务器读取新的页面时调用,此时还没开始读取;而 onunload 则已经从服务器上读到了需要加载的新的页面,在即将替换掉当前页面时调用,Onunload 是无法阻止页面的更新和关闭的,而 Onbeforeunload 可以做到。

刷新与关闭判断示例1:

引用
function CloseOpen(event) {  
    if(event.clientX<=0 && event.clientY<0) {  
        alert("关闭");  
    }  
    else 
    {  
        alert("刷新或离开");  
    }  

function CloseOpen(event) {
    if(event.clientX<=0 && event.clientY<0) {
        alert("关闭");
    }
    else
    {
        alert("刷新或离开");
    }
}


刷新与关闭判断示例2:
引用
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("是刷新而非关闭");      
    }
};