在我的网站的用户的叶子页,应该有一个警告消息,这给用户的选择留在页面上:

“你确定要关闭此页面吗?”

不要紧如果下一页是内部或外部的页面。

我想这可能与onunload事件处理程序来完成,不能呢?

<body onunload="confirmClose()">

在confirmClose()函数必须然后显示一个消息框有两个按钮,使得用户能够之间“真的离开”或“停留时间”选择。

function confirmClose() {
    return confirm('Really leave this page?')
}

但是,这功能不能停止卸载,是吗?

你有我的问题的解决方案?由于事先!

有帮助吗?

解决方案

可以添加onbeforeunload事件。请注意,它的返回一个字符串的对话框时,称为事件浏览器会显示包括。你不能调整的对话框,除此之外,也可以触发自己confirm你尽力去做。

我要指出,这是除少数特定情况非常,非常令人讨厌的行为。除非你从这个显著数据丢失救了我,请不要这么做。

其他提示

您只能提供文本。浏览器处理对话框(安全原因)。下面是一些代码,你可以使用:

window.onbeforeunload = function (e) {
    var e = e || window.event;
    var msg = 'Are you sure you want to leave?';

    // For IE and Firefox
    if (e) {
        e.returnValue = msg;
    }

    // For Safari / chrome
    return msg;
}

尝试了这一点上不同的浏览器,虽然。你会发现,应构建的消息不同,这取决于不同的浏览器对话框中的措辞。

下面是我使用:

if (IsChrome) {
    return 'You were in the middle of editing. You will lose your changes if you leave this page';
} else {
    return 'You were in the middle of editing. Press OK to leave this page (you will lose your changes).';
}

浏览器需要显示所述确认窗口的护理。 你需要与你要问这些消息返回的字符串。此外,可能要使用onbeforeunload跨浏览器兼容性。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top