如何在 beforeunload 显示自己的模式对话框之前显示模式对话框?

2024-02-03

我确实明白不可能更换beforeunload带有自定义对话框的对话框,如果我们需要向用户设置自定义消息,则必须在 beforeunload 处理程序中返回一个字符串:

{Custom message here set by returning a string in our beforeunload handler}
Are you sure you want to leave this page?
[Leave this page] [Stay on this page]

那么,在浏览器显示实际的 beforeunload 对话框之前显示自定义模式对话框(可能是 jQuery)怎么样?

我当前的代码使用 Fancybox:

window.onbeforeunload = function() {
    $.fancybox({ 'type':'iframe', 'href':'/PopupOnExit.php' });
    return "Special offer! Stay on this page for more details.";
};

但是,这首先显示浏览器的对话框,只有在单击“停留”或“离开”按钮后,浏览器才会显示我的模式对话框。

有没有办法让我的模式对话框在浏览器对话框之前显示?


仅当脚本结束执行时,DOM 修改才会生效。在这种情况下,出于明显的安全原因,首先触发本机对话框。

请注意,由于此未指定的功能引入了许多安全问题(请参阅MDN 文档 https://developer.mozilla.org/en/DOM/window.onbeforeunload),它可能会被删除(我认为最快是最好的),拥有它(保存数据)的旧原因在 ajax 时代已经过时了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 beforeunload 显示自己的模式对话框之前显示模式对话框? 的相关文章

随机推荐

  • Objective C - 错误:“需要类型”

    我在一些我认为很简单的事情上遇到了一个非常奇怪的错误 import
  • 通过 LDAP 进行 Kerberos 身份验证

    我正在开发控制台应用程序 它使用 ldap DirectoryServices Protocols 从活动目录中获取用户数据 目前 我可以使用 SSL TLS 和简单连接 既不是 SSL 也不是 TLS 的基本身份验证来获取数据 但现在我想
  • 如何将 ViewModel 中的数据发送到控制器方法中?

    我正在尝试将 JavaScript 函数中的数据发送到控制器方法中 当我有一个简单的模型时它工作正常 但是当我在使用包含多个对象的 ViewModel 时尝试发布数据时它不起作用 换句话说 我有一个登录页面 并且从我的角度来看 我将数据发布
  • Android 进度条不显示

    private Handler handler new Handler Override public void handleMessage Message msg removeDialog 0 switch msg what case S
  • 如何在自动热键中将字符串转换为数字?

    FormatTime CurrentMinute m将当前分钟分配给变量 CurrentMinute 其值是字符串 而不是数字 我想做一些计算 CurrentMinute 那么如何将其转换为数字呢 感谢您提前提供任何帮助 AutoHotke
  • 有没有办法在 matplotlib 中制作多个水平箱线图?

    我正在尝试制作一个 matplotlib 图 该图将多个水平箱线图彼此堆叠 该文档展示了如何制作单个水平箱线图以及如何制作多个垂直方向的图在这个部分 http matplotlib sourceforge net api pyplot ap
  • 无法访问刚刚创建的文件[重复]

    这个问题在这里已经有答案了 我的程序包含一个窗体和七个用户控件 我正在使用 MS Visual Studio 2010 C 语言 我的计划 将 txt 文件中的所有文本显示到 UserControl 中的文本框中 My Aim 我想检查 t
  • Crashlytics 与 proguard 崩溃

    我做了 Fabric 在他们的文档中要求的一切 renamesourcefileattribute SourceFile keepattributes Annotation keepattributes SourceFile LineNum
  • 在 Webview 中运行 javascript 代码

    我有一个在 android 中使用的 webview 我试图在单击按钮时触发 javascript 我正在尝试使用下面的代码将类的颜色更改为红色 但我似乎无法让它发挥作用 final WebView wb WebView findViewB
  • 找不到 com.sun.xml.rpc.tools.ant.Wscompile

    我需要使用以下服务 http mihansmscenter com webservice wsdl http mihansmscenter com webservice wsdl所以我应该使用 jax rpc 然后我将 jax rpc 插件
  • 凌乱的散点图回归线:Python

    在python 2 7 6 matlablib scikit learn 0 17 0中 当我在散点图上制作多项式回归线时 多项式曲线将非常混乱 如下所示 脚本是这样的 它将读取两列浮动数据并绘制散点图和回归 import pandas a
  • 在 Sublime text 中显示 Python 输出 [重复]

    这个问题在这里已经有答案了 Python 和 Sublime 新手 问题 我输入 print 你好世界 如何让它向我显示输出 Hello world 它是在单独的窗口中吗 或者 我知道我可以使用内置的 Python 控制台 但那是一个命令行
  • AutoMapper 从静态 API 迁移

    https github com AutoMapper AutoMapper wiki Migration from static API https github com AutoMapper AutoMapper wiki Migrat
  • 当随机字段值改变时,Solr 会更改文档的分数

    我需要在按分数排序的 Solr 结果集中来回导航 一一查看文档 为了形象化这一点 首先向用户呈现文档标题列表 然后他或她可以单击其中一个标题以查看更多详细信息 然后需要有机会移至原始列表中的下一个文档 而无需返回和查看单击另一个标题 在查看
  • 休眠搜索 |具有 minGramSize 1 的 ngram 分析器

    我的 Hibernate Search 分析器配置存在一些问题 我的索引实体之一 Hospital 有一个字符串字段 name 其中可能包含长度为 1 40 的值 我希望能够通过仅搜索一个字符来找到一个实体 因为医院有可能只有单个字符名称
  • Visual Studio 2010 - 如何在构建期间发布到本地 IIS

    我正在 VS 2010 中开发 ASP Net MVC Web 应用程序 我想在本地 IIS 7 中的它自己的 Web 下运行该 Web 应用程序 我设置了主机文件 以便 dev 指向我的本地 IP 因此当我创建 IIS Web 时 我可以
  • 在ggplot2中,coord_flip和freescale不能一起工作

    以下是一些关于体育促进干预措施有效性的假设荟萃分析的示例数据 我想为其创建一个森林图 example df data frame Author c McAuliffe et al Palen et al Manning et al Rich
  • 如何防止 Vista 要求 patch.exe 提升权限?

    很抱歉 这不是一个直接的编程问题 但我最近换了一台新的 Vista 机器 我在其中保持 UAC 启用 请不要告诉我禁用它 这不是一个选项 每次我运行 gnu 的 patch exe 时 我都会收到一个来自 Vista 的提升对话框 如果我将
  • 水平对齐多个div(CSS)[重复]

    这个问题在这里已经有答案了 我需要对齐这些divs 使得 content1 和红色之间的空间div等于 content4 和红色之间的空间div 我不介意换蓝色div的边距 但这应该适用于任何宽度 我曾经通过制作来实现这一点4个蓝色的宽度d
  • 如何在 beforeunload 显示自己的模式对话框之前显示模式对话框?

    我确实明白不可能更换beforeunload带有自定义对话框的对话框 如果我们需要向用户设置自定义消息 则必须在 beforeunload 处理程序中返回一个字符串 Custom message here set by returning