Javascript:抑制 onbeforeunload 上的“此页面要求您确认是否要离开”弹出窗口

2023-11-27

当用户离开页面时,我需要在离开之前询问他是否想执行特定操作。

<script type="text/javascript">
$(document).ready(function() {
        window.onbeforeunload = askConfirm;
});

function askConfirm() {
    var addFriend = confirm("Would you like to ping?");
    if (addFriend) {
        var xmlhttp;
        if (window.XMLHttpRequest) {
            xmlhttp=new XMLHttpRequest();
        } else {
            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
        xmlhttp.open("GET","http://example.com?ping=1234",true);
        xmlhttp.send();
    }
    return null;
}

取决于最后一个的值return陈述 ("", null, true, false,或者没有return声明)我可能会遇到以下两种情况之一:

1) 用户收到“你想 ping 吗?”确认(良好),发送 ping(良好),并且用户会看到一个“此页面要求您确认是否要离开”弹出窗口(不好).

-or-

2) 用户收到“你想 ping 吗?”确认(好),ping 值是not已发送(坏),并且用户是not出现“此页面要求您确认是否要离开”弹出窗口(很好)。

如何发送 AJAX ping,同时抑制“此页面要求您确认是否要离开”弹出窗口?

Edit:听起来很荒谬,我发现这个问题的“解决方法”是alert()之后xmlhttp.send()陈述。唯一干净的方法是提醒用户他的 ping 已发送。如果未来的 StackOverflowers 找到更好的解决方案,我很想知道。

Thanks.


您可以使 Ajax 请求同步。

xmlhttp.open("GET","http://example.com?ping=1234", false); // use false here 
xmlhttp.send(); 

如果您的服务器速度较慢,可能会导致轻微延迟,但它应该可以解决 ping 不发送的问题。

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

Javascript:抑制 onbeforeunload 上的“此页面要求您确认是否要离开”弹出窗口 的相关文章

  • 在使用 jQuery 拖动时向元素添加 CSS 类

    是否可以在元素被拖动到特定区域时向其添加 CSS 类 并在元素被删除后替换该类 我并不是到处寻找这个功能 而是只在特定区域寻找这个功能 是的 这当然有可能 jQuery UI 提供了一些方便的选项和事件来执行此操作 对于初学者来说 可拖动元
  • 使用浏览器内的 JS 数值求解三角方程[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 给定变量值s v and h 并给定一个库 例如数字 js http www numericjs com index php我怎样才能用数
  • ScrollTop 在 Chrome/Safari 中不起作用

    我的网站上有一个循环内的表单 当有人提交表单时 查询字符串会添加到 URL 中 例如 updated 111 然后 我的 JQuery 脚本检查数字的 url 并在提交表单并重新加载页面后滚动到该 div 该脚本在 Firefox 中运行良
  • Javascript hasOwnProperty 在事件对象上总是 false?

    我希望有人可以帮助澄清与事件对象相关的 hasOwnProperty 方法 我正在尝试克隆鼠标事件 最终该对象将被传递到 iframe 我已经构建了一个 克隆 函数 但每当我尝试克隆窗口事件 即滚动 单击等 时 hasOwnProperty
  • Javascript 自时间戳以来经过的时间

    我试图通过将其存储在变量中来 缓存 一些信息 如果 2 分钟过去了 我想获取 实时 值 调用 url 如果 2 分钟还没有过去 我想从变量中获取数据 我基本上想要的是 if time passed is less than 2 minute
  • 强制执行 show.bind

    我有一个包含数据的表 当从另一个视图触发事件时 我希望视图检查 show bind 语句 问题是该事件没有更改当前视图中的任何数据 foo html tr p canBeRemoved p tr 我正在使用 EventAggregator
  • 尝试使用 CasperJS 跟踪 iframe 中的链接

    我正在尝试使用CasperJS http casperjs org index html跟踪 iframe 中的链接 但我似乎无法获取 iframe 的文档 这是使用我找到的 iframe 示例页面进行的测试 第三个 iframe 有一个名
  • jQuery 中如何判断 JSON 对象是否为空

    我有以下 JSON meta limit 20 next null offset 0 previous null total count 0 objects 我对对象感兴趣 我想知道对象是否为空并显示警报 像这样的东西 success fu
  • 我什么时候应该使用内联和外部 Javascript?

    我想知道什么时候应该包含外部脚本或将它们与 html 代码内联编写 就性能和易于维护而言 这方面的一般做法是什么 真实场景 我有几个需要客户端表单验证的 html 页面 为此 我使用了一个包含在所有这些页面上的 jQuery 插件 但问题是
  • 它们是“相同的”吗?代码大战

    这是完整的问题描述 给定两个数组 a 和 b 编写一个函数 comp a b Clojure 中的 compSame a b 来检查这两个数组是否具有 相同 元素以及相同的重数 这里 相同 意味着 b 中的元素是 a 平方中的元素 无论顺序
  • 元素在主体内找不到足够的空间 - JavaScript 样式

    相关信息 该页面包含两个元素 An
  • jQuery 如何通过不同的列值计算表中的行数

    如何按表列计算不同的表行 Example table thead tr th NAME th th TECHNOLOGY th tr thead tbody tr td john td td jQuery td tr tr td mark
  • 根据数据更改图例颜色高图表

    我可以根据数据动态设置列的颜色 但无法弄清楚如何更改图例中的颜色 请注意 jsfiddle 最新的条形图是绿色的 但图例是蓝色的 有没有办法改变列颜色也会改变图例颜色 这是我用于列颜色的代码 jsfiddle http jsfiddle n
  • Webpack:如何将 javascript 注入 HTML 而不是单独的 JS 文件

    有没有办法让 webpack 将输出注入 HTML 而不是单独的文件 我不得不使用html webpack inline source plugin https github com DustinJackson html webpack i
  • 单击时突出显示文本(javascript jquery html)

    当您在所有浏览器中双击某个单词时 它们会自动突出显示单击下的单词 但是否有可能找到一种方法exact单击一下就会发生同样的事情吗 我想这涉及到的事情可能是 TextRange 的东西 对所有段落 或整个正文或 div 的 onclick 做
  • Bootstrap 3 - 模态背景不会根据模态对话框的高度调整大小?

    我将一个表单放入模式中 并尝试在用户触发单选按钮时显示表单的一些隐藏字段 显示隐藏字段后 模态自动重新缩放的高度 但模态背景的高度不能用作模态对话框 我该如何解决它 div class modal fade div class modal
  • 按钮导致页面重新加载

    我在我的页面上使用 html 和 jquery 在我的 html 中 我有一个按钮 单击该按钮将触发一个功能 当页面加载时 我调用文档准备中的主函数 这是我的代码 div div
  • 加载 angularjs 路由后运行 javascript 代码

    我需要在 angularjs 加载路线后显示警报 显示警报的代码位于 angularjs 异步加载的视图中 视图加载后 我希望它能够运行 但它没有 我知道我可以广播并告诉它稍后运行等 但我需要一个更通用的解决方案 假设您正在谈论基于以下内容
  • 在 Sublime Text 下获取完整的 JS 自动补全

    我刚刚在 Windows Vista 下安装了 Sublime Text 甚至遵循了中给出的建议这个帖子 https stackoverflow com questions 10636410 modifying sublime text 2
  • javascript:获取带有单位的CSS prop值[重复]

    这个问题在这里已经有答案了 我的代码是这样的 image 1 position absolute top 3vw 我的尝试 http jsfiddle net z8k6t3fb 1 http jsfiddle net z8k6t3fb 1

随机推荐

  • JavaFX 8 3D场景交点

    是否有可能在 JavaFX 8 3D 场景中沿着射线 例如 PickRay 找到点 从 3D 空间中具有某个 3D 方向向量的任意点开始 其中射线与网格中的三角形 MeshView 内的 TriangleMesh 相交 我知道这是在 Cam
  • 使用严格的 null 检查处理 Typescript 2.0 中的数组移位返回类型

    在我的具有严格 null 检查的 Typescript 2 0 项目中 我有一个数组 private timers ITimer 和一个 if 语句 if this timers length gt 0 this timers shift
  • 检查返回的文件是否为XML

    我需要检查网站输出的返回值 如果登录详细信息有效 它会返回一个 XML 文件 如果登录详细信息无效 它只会返回一个字符串 显示 您输入了无效 ID 我的问题是我用这个代码来检查 ch curl init curl setopt ch CUR
  • C# - 从特定应用程序捕获 Windows 消息

    我正在编写一个需要拦截的 C 应用程序窗口消息另一个应用程序正在发送 编写我正在监视的应用程序的公司向我发送了一些示例代码 但它是用 C 编写的 我不太了解 在 C 示例代码中 我得到了它们使用以下代码 UINT uMsg Register
  • 在 AXIOS 中发送 GET 方法的请求正文会引发错误

    我有一个 React 应用程序 我将 POST 方法更改为 GET 并按原样请求正文 它适用于 POST 请求 但是当我将方法更改为 GET 时 它给了我错误 message org springframework http convert
  • 基于gradle构建更新IntelliJ中的单一依赖

    是否可以让 IntelliJ 更新单个依赖项 而不必通过 Gradle 侧选项卡中的 刷新所有 Gradle 项目 按钮刷新所有依赖项 我问的原因是 我们的项目的完全刷新需要几分钟 足够长的时间让我写这个问题 我只想更新对我正在本地更新的另
  • 是否可以获得转换后的绘图数据? (例如点图中的点坐标、密度曲线)

    我想知道是否可以在 ggplot2 图中获取转换后的数据 特别是 我有兴趣获取点图中点的坐标和大小 以便在另一个绘图库中使用它们 d3 js 我怎样才能提取这些信息 这是情节 g ggplot data frame x rnorm 100
  • 控制台应用程序 - 当前工作线上方的 WriteLine

    我看过其他一些与此非常相似的帖子 但他们给出的答案并没有正确回答问题 抱歉 如果有什么隐藏的东西我找不到 我想使用 Console WriteLine 打印当前 Console ReadLine 上方的内容 例如 我的应用程序打印 Hell
  • 将变量编号分配给复数数组

    我想将复杂数组分配为变量 我的代码就像 complex indx 3 3 integer i j do i 1 3 do j 1 3 indx i j i j write indx i j end do end do 在这种情况下我收到类似
  • 在后面的代码中设置显示属性

    如何将显示属性设置为在后面的代码中阻止
  • 升级到 Gradle 7 后 Android Gradle Javadoc 损坏

    几天前 我升级到了新的 Android Studio Arctic Fox 版本 现在也需要 Gradle 7 在升级之前 我有以下 javadoc 任务 它运行得很好 def javaDocsAllowList com mycompany
  • 根据外部值有条件地应用管道步骤

    鉴于 dplyr 工作流程 require dplyr mtcars gt tibble rownames to column var model gt filter grepl x model pattern Merc gt group
  • “谓词下推”和“投影下推”有什么区别?

    我找到了多种信息来源 例如发现的一个here 将 谓词下推 解释为 如果您可以将部分查询 下推 到数据存储的位置 从而过滤掉大部分数据 那么您可以大大减少网络流量 但是 我还在其他文档中看到了术语 投影下推 例如here 这似乎是同一件事
  • Android每5秒拍照一次

    使用相机 API 我能够成功拍摄照片并将其保存到文件夹中 这是我正在使用的代码 主要 xml
  • Amazon APi 网关无法生成转换后的请求

    我正在尝试将 Amazon API gateway 与 Lambda 函数集成 我成功地实现了这一目标 但是当我尝试使用curl 时 它失败了 设置 Lambda 方法 API 网关集成以及集成请求下的模板映射 当我从控制台运行 测试 时
  • 将鼠标悬停在子级上时如何禁用父级悬停

    我将尝试用一些简单的例子来展示我的问题 我拥有的 http jsfiddle net JGzSh 3 这是一些简单的按钮 稍后会有 onclick 事件 当我将鼠标悬停在绿色 div 父级 上时 hover可以稍微改变它的颜色 有什么问题
  • 如何重命名 tSQLt 测试类?

    我正在使用以下方法开发数据库红门 SQL 开发人员 tools SQL Test运行 tSQLt 测试的 SSMS 加载项缺少重命名测试类的方法 我有一个测试叫 BackendLayerCustomerAdministrationTests
  • 未捕获 无法从 URL 哈希获取父源

    我正在尝试为我的网络应用程序设置谷歌登录 目前 它处于开发状态并运行在http localhost 8080 auth 我使用 Google 提供的默认登录按钮进行用户登录 每当打开新的 iFrame 进行用户身份验证时 它就会无限挂起 当
  • TypeScript 扩展 String Static

    有没有办法将 isNullOrEmpty str string 添加到静态字符串对象 这样我就可以称之为 String isNullOrEmpty myobj 我找到了一种将其放在实现中的方法 但这对这样的方法没有帮助 String定义于l
  • Javascript:抑制 onbeforeunload 上的“此页面要求您确认是否要离开”弹出窗口

    当用户离开页面时 我需要在离开之前询问他是否想执行特定操作