如何在浏览器中生成“您确定要离开此页面吗?”?

时间:2009-01-28 14:34:14

标签: browser refresh modal-dialog

我有一个页面,我打开一个“模态窗口”。它实际上只是一个DIV,里面有一个IFRAME,我加载另一个页面。当我想刷新页面时,浏览器弹出一个窗口,上面写着“你确定要离开这个页面吗?重新加载这个页面将导致模态窗口消失。按OK继续,或取消继续当前页面。”

如何生成此消息?浏览器如何确定我有一个模态窗口,因为我没有使用JavaScript中的任何window.open()调用?有没有办法禁用浏览器的这种行为。

3 个答案:

答案 0 :(得分:3)

在IFRAME中加载的页面源可能是body.onunload

由于模态窗口本质上是一个IFRAME,当你关闭(或刷新)主窗口时,浏览器知道它正在杀死那个IFRAME,因此该IFRAME中的任何body.onunload都会触发。

答案 1 :(得分:1)

如果您有一个处理onbeforeunload的函数,则会自动生成Firefox消息。

你可以通过在你的处理程序中返回null来禁用它。

答案 2 :(得分:0)

这可能是由于某些脚本修改了所有场外链接以显示此模态窗口,然后返回true ,或返回false 基于您与模态窗口。

如果要删除该行为,可以删除外部链接的所有点击事件。