如何用js监听浏览器页面的关闭刷新事件

JavaScript020

如何用js监听浏览器页面的关闭刷新事件,第1张

首先判断浏览器的类型,简便可用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('刷新操作')}}}

下面的代码兼容除 Opera 之外的任何浏览器。Opera 到现在最高版本为止对 onunload 的支持都是不完整的,对于 unbeforeunload 更是根本不支持。

<script type="text/javascript">

window.onbeforeunload = function(e) {

    e = e || window.event

    var msg = "您确定要离开此页面吗?"

     

    // IE

    e.cancelBubble = true

    e.returnValue = msg

     

    // Firefox

    if(e.stopPropagation) {

        e.stopPropagation()

        e.preventDefault()

    }

    

    // Chrome / Safari

    return msg

}

</script>