叫我大飞 2023-01-11 10:42 采纳率: 50%
浏览 82
已结题

window.onunload方法会被浏览器的弹窗给冲掉

我写了一个 js的onunload方法,但是在刷新页面的时候。会有个弹窗,然后我的方法就失效了

img

img

而且要对应谷歌,火狐,safari多种浏览器,有没有知道怎么解决

  • 写回答

7条回答 默认 最新

  • 爱音斯坦牛 全栈领域优质创作者 2023-01-11 16:28
    关注
    获得6.75元问题酬金

    回答如下,有帮助的话记得采纳哦!
    window.onunload 方法在页面卸载之前触发,当用户离开页面时会触发这个事件。在页面刷新或关闭时,浏览器会发出确认消息,询问用户是否离开页面。如果用户点击“离开”按钮,浏览器就会触发 onunload 事件。
    但是,由于浏览器发出的确认消息会中断脚本的执行,因此在确认消息出现之前就会执行 window.onunload 方法.
    有一种方式可以解决此问题,就是使用 JavaScript 的 beforeunload 事件来代替 onunload 事件。这个事件在用户即将离开页面时触发,但是不会被浏览器的确认消息打断。

    window.addEventListener("beforeunload", function (e) {
      // your code here
    });
    

    不过需要注意的是,使用 beforeunload 事件也不能禁止用户离开页面,还是会有浏览器自带的弹窗,但是脚本会在弹窗出现前完成。

    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 1月19日
  • 创建了问题 1月11日

悬赏问题

  • ¥15 Arduino的wifi连接,如何关闭低功耗模式?
  • ¥15 C#连接不上服务器,
  • ¥15 angular项目错误
  • ¥20 需要帮我远程操控一下,运行一下我的那个代码,我觉得我无能为力了
  • ¥20 有偿:在ubuntu上安装arduino以及其常用库文件。
  • ¥15 请问用arcgis处理一些数据和图形,通常里面有一个根据点划泰森多边形的命令,直接划的弊端是只能执行一个完整的边界,但是我们有时候会用到需要在有很多边界内利用点来执行划泰森多边形的命令
  • ¥30 在wave2foam中执行setWaveField时遇到了如下的浮点异常问题,请问该如何解决呢?
  • ¥750 关于一道数论方面的问题,求解答!(关键词-数学方法)
  • ¥200 csgo2的viewmatrix值是否还有别的获取方式
  • ¥15 Stable Diffusion,用Ebsynth utility在视频选帧图重绘,第一步报错,蒙版和帧图没法生成,怎么处理啊