有没有办法通过javascript检测关闭页面?

时间:2009-05-06 02:12:10

标签: javascript events

我在这里观看了几个主题,主要用于: window.onbeforeunload = function(e){   var e = e || window.event;

// IE&火狐   if(e){     e.returnValue ='你确定吗?';   }

//适用于Safari   回来'你确定吗?'; };

但似乎这会混合刷新页面和关闭页面的情况, 是否有可能区分这两种情况?

2 个答案:

答案 0 :(得分:3)

function OnUnLoad()
{
    if (window.event.clientY < 0 && window.event.clientX < 0)
    {
        //cleanup code goes here...
    }       
}

这似乎适用于所有浏览器。但关闭标签似乎会引发问题。实际上,没有“记录”的方式。

答案 1 :(得分:2)

实际上没有办法区分Javascript中的两个不同事件。您可以采用GMail方法并将AJAX用于所有内容,以便永远不会导致页面重新加载。这意味着唯一一次调用“OnBeforeUnload”就是当用户实际离开页面时。另一种方法是在所有链接上放置JS,以便在单击链接时禁用OnBeforeUnload脚本,但您只希望在浏览器实际关闭时触发。

就浏览器而言,用户单击链接以离开页面并单击浏览器关闭按钮之间没有任何区别。