Chrome 在没有任何用户交互的情况下立即消除确认()提示

2023-11-30

我们网站的一些用户报告说confirm对话框出现,但立即消失,就好像它们被自动关闭一样。这似乎只影响 Chrome,而不影响其他浏览器(甚至 Chromium)。

搜索类似问题发现很多人都在抱怨confirm里面的对话onbeforeunload,但这不是我的问题:这是not在那种情况下。这confirm页面最初加载时显示对话框(由 jQuery 触发)$(document).ready()).

The Chrome 文档表明confirm不会激活其选项卡,并且在切换选项卡时将被关闭。没关系:该选项卡已经处于活动状态(confirm对话框出现在页面加载时),我很高兴在切换选项卡时将其关闭。问题是它会立即被驳回,而无需任何用户交互。

I found 一份类似的报告,但在这种情况下confirm提示从一开始就没有出现。看起来我们所看到的东西有所不同。

$(document).ready(function() {
var c = confirm('Are you sure you wish to delete this entry?');
if (c) {
    $.ajax(
        '/api/show/competition/delete',
        {
            'method': 'POST',
            'data': { 'id' : 9 },
            'dataType': 'json',
            'complete': function(response, status) {
                if (response.responseJSON.error) {
                    alert(response.responseJSON.message);
                    window.location.reload();
                } else {
                    document.location.href = "/show/application/competition";
                }
            }
        }
    );
} else {
    document.location.href = "/show/application/competition/entry/9";
}
});

如有必要,我们可以使用 jQuery 模式窗口,但使用整个库来替换一行代码似乎很愚蠢。无论如何,本机浏览器警报在移动浏览器中看起来往往更好。


我有完全相同的问题。这似乎是一个镀铬问题。

这需要一个技巧。 就我而言,它是通过使用 setTimeout 函数设置 0.1 秒延迟来实现的。

尝试这个。它会起作用的。

function doConfirm() {
  var c = confirm('Are you sure you wish to delete this entry?');
  if (c) {
    $.ajax(
        '/api/show/competition/delete',
        {
            'method': 'POST',
            'data': { 'id' : 9 },
            'dataType': 'json',
            'complete': function(response, status) {
                if (response.responseJSON.error) {
                    alert(response.responseJSON.message);
                    window.location.reload();
                } else {
                    document.location.href = "/show/application/competition";
                }
            }
        }
    );
  } else {
    document.location.href = "/show/application/competition/entry/9";
  }
}

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

Chrome 在没有任何用户交互的情况下立即消除确认()提示 的相关文章

随机推荐

  • Windows 应用商店应用程序:证书中的主机名无效或不匹配

    在我的 Windows 8 1 应用程序中 当我调用 Web 服务时 出现以下异常 证书中的主机名无效或不匹配 我使用的代码 HttpBaseProtocolFilter filter new HttpBaseProtocolFilter
  • 任务不等待ContinueWith完成

    我有控制台应用程序和代码如下 我的问题是在ContinueWith任务完成之前 控制台应用程序结束 它不等待ContinueWith完成 请告知 请让我知道我遗漏或不正确的内容 var task1 Task
  • 获取字符码值大于十六进制“FFFF”的 Unicode 字符

    Issue The ChrWcharcode 参数是Long标识一个字符 但不允许值大于 65535 十六进制值 HFFFF see MS Help 例如各种符号和象形文字可以在以下位置找到Unicode 十六进制块 1F300 1F5FF
  • 如何使用 SSL 使我的网站有效?

    我有一个网站 位于具有专用 IP 的专用服务器上 并且安装了 SSL 证书 并且有效 当我访问我的网站并输入 https 而不是 http 时 我的网站仅部分加载 因为 google chrome 说我的网站有一些不安全的数据 我的网站尚未
  • 如何检测与预制件子项的碰撞

    我已经开始学习 Unity 并决定做一些练习 所以 我认为开发 Flappy Bird 作为一个实验会很棒 但我遇到了这个问题 您知道 当您在管道之间飞行时 您可以获得积分 为此 我制作了一个带有两个管道的预制件以及它们之间的一个空游戏对象
  • 使用 Jsoup 来 POST 登录数据

    我正在尝试登录这个网站 http deeproute com 这是我的代码 Connection Response res null Connection homeConnection null Document homePage null
  • 我可以搜索 Netbeans 的本地历史记录吗?

    在 Netbeans 项目中的一个文件的早期版本之一中 我编写了后来删除的代码 现在我想检索它 但是现在当我手动转到以前的版本时我找不到它 因为我在这个文件的本地历史记录中有很多版本 而且我不记得我到底什么时候编写了这段代码 有没有办法对此
  • Facebook 聊天机器人(PHP webhook)发送多个回复

    我的 Facebook 聊天机器人正在运行 但在我向它发送初始消息后 它会发回多条消息 这是我的 webhook 脚本 我很欣赏这是一个非常粗糙的工作示例 challenge REQUEST hub challenge verify tok
  • 这些结果类型存在“...”的重载:ClosedRange、CountableClosedRange

    Swift 2 let gap CGFloat randomInRange StackGapMinWidth maxGap 调用中缺少参数标签 范围 Swift 3 新错误 let gap CGFloat randomInRange ran
  • 拆分变量的第一个字母

    我需要从变量 name 中拆分第一个字母 我怎样才能做到呢 name userData name 我怎样才能得到第一封信 请检查是否正确 if userData gender male if firstletter i picture Im
  • MySQL 中的 BULK INSERT 问题

    我在执行批量插入时遇到以下 SQL 命令错误 BULK INSERT libra faculty FROM d faculty csv WITH FIELDTERMINATOR ROWTERMINATOR n 这是错误消息 ERROR 10
  • 我可以将文件添加到本地 Git 存储库但不将其推送到远程吗

    我有许多大型视频文件 我不想将其推送到远程 但我确实想将它们添加到本地存储库 有点像远程版本 gitignore file 那可能吗 更具体地说 我正在开发一个多媒体项目 一个文件夹包含项目元数据文件 它是一个 Screenflow 项目
  • ggplot 中的反向日期时间(POSIXct 数据)轴

    我正在尝试使用 ggplot 创建 POSIXct 时间图 并且想反转轴 但正在努力使其工作 我一直在使用scale y datetime 因为在我的实际应用程序中 控制该轴上的中断非常重要 这是我的问题的一个例子 首先是正常排序 然后是我
  • 获取 Android 设备的永久唯一 ID

    我有一个应用程序 我想在其中使用唯一 ID 来识别设备 我尝试了多种解决方案 但在手机重置后唯一 ID 发生了变化 如 ANDROID ID 我使用了下面的 StackOverflow 链接 但现在不可用 Android 设备有唯一的 ID
  • Matlab加载库错误

    我打算将OpenCV 1 1版本和Matlab2011一起使用 该程序使用调用来加载库 但是 它返回一个错误 gt In loadlibrary at 347 In Untitled at 4 Error using loadlibrary
  • 在 Java 中将二进制输入流读入单个字节数组

    文档说不应该使用available 确定尺寸的方法InputStream 我怎样才能阅读一篇文章的全部内容InputStream到字节数组中 InputStream in assuming already present byte data
  • ActionBarCompat 菜单项未显示[重复]

    这个问题在这里已经有答案了 这是我的general xml file menu menu
  • 在 ruby​​ on Rails 中提交表单时显示结果数据,无需刷新页面

    我对 ruby on Rails 很陌生 我遇到了一个问题 我有一个主题列表 在此列表下方有一个用于添加主题的表格 我正在尝试添加一个主题而不刷新页面 并将该主题显示在主题列表的正下方 新添加的主题正在插入数据库 但如果不刷新页面 它不会显
  • TypeScript 1.5:ES6 模块默认导入 CommonJS 'export ='(.d.ts 唯一问题?)[重复]

    这个问题在这里已经有答案了 我遇到了以下问题 import moment from moment moment本身是一个默认 CommonJS 导出的函数 如此处编码https github com borisyankov Definite
  • Chrome 在没有任何用户交互的情况下立即消除确认()提示

    我们网站的一些用户报告说confirm对话框出现 但立即消失 就好像它们被自动关闭一样 这似乎只影响 Chrome 而不影响其他浏览器 甚至 Chromium 搜索类似问题发现很多人都在抱怨confirm里面的对话onbeforeunloa