离开网站javascript事件 - onbeforeunload - 刷新页面/内部超链接

时间:2011-03-31 14:04:47

标签: javascript

我正在尝试像下面这样的onbeforeunload事件,当我关闭浏览器时它可以正常工作

    <script type="text/javascript" language="javascript">
    window.onbeforeunload = LeavingSiteHandler;
    function LeavingSiteHandler(e) {
        if (!e) 
            e = window.event;
        //e.cancelBubble is supported by IE - this will kill the bubbling process.
        e.cancelBubble = true;
        e.returnValue = 'You sure you want to leave?'; //This is displayed on the dialog

        //e.stopPropagation works in Firefox.
        if (e.stopPropagation) {
            e.stopPropagation();
            e.preventDefault();
        }
    }
</script>

但是,当我按F5刷新页面或点击内部链接时,将触发此事件。是否可以检查点击的超链接是否是内部链接?如果我按下F5,是否可以停止此弹出消息? 非常感谢!

1 个答案:

答案 0 :(得分:2)

您可以为页面中的链接编写onclick处理程序,删除window.onbeforeunload处理程序。

但是你无法区分页面刷新和关闭标签/窗口。