5

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

此消息是如何生成的?浏览器如何确定我在那里有一个模态窗口,因为我没有使用来自 JavaScript 的任何 window.open() 调用?有什么办法可以禁用浏览器的这种行为。

4

3 回答 3

3

它可能body.onunload在 IFRAME 中加载的页面的源代码中。

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

于 2009-01-28T14:36:31.443 回答
1

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

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

于 2010-02-18T23:47:47.123 回答
0

这可能是由于某些脚本修改了所有非现场链接以显示此模式窗口,然后返回 true,或者根据您与模式窗口的交互返回 false 。

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

于 2009-01-28T14:36:47.230 回答