<script type="text/javascript">
        window.onbeforeunload = onbeforeunload_handler;
        window.onunload = onunload_handler;
        function onbeforeunload_handler() {
            var warning = "确认退出?";
            return warning;
        }        function onunload_handler() {
            var warning = "谢谢光临";
            alert(warning);
        }     
    </script>
这是我的一段代码  但是这段代码还是不能满足我的需求
因为如果本页面刷新也会认为是关闭或跳转求大神指点js监听到页面关闭或页面跳转事件

解决方案 »

  1.   

    刷新也是关闭,没办法
    就连你现在的代码也不兼容,很多浏览器不支持return的字符串,因为有风险(比如return "确认关闭将导致系统崩溃"之类恐吓用户)
      

  2.   

    那是没办法做到这个需求吗? 因为我现在本页面存了一个cookie 当页面跳转到任意页面或关闭的时候要清除cookie  不要说设置cookie的有效时间   cookie关联到了服务器上的一张图片  cookie失效的同时图片也要删除掉
      

  3.   

    给个思路,不知道是否可行
    在页面上做一个ajax,定期访问服务器,当在指定时间内不能接收到页面的ajax心跳,认为浏览器关闭了页面跳转的监听,全部使用自定定义的js函数,好象是window.location = url,url是你要跳转的页面,这样执行到这个函数时,你就知道用户要跳转页面,然后在这个函数里做操作
      

  4.   

    onunload中删除cookie就行了,不要执行alert这种语句,有些浏览器不会执行的,但是删除cookie释放对象的操作时可以的    alert(document.cookie); //首次访问abc!=123,刷新后abc=kill,而不是abc=123
        document.cookie = 'abc=123';
        window.onbeforeunload = function (e) {
            return e.returnValue = '确认关闭?!!';
        }
        window.onunload = function () {
            document.cookie = 'abc=kill';
        }