曙云 2023-05-05 17:36 采纳率: 75%
浏览 31
已结题

如何防止Edge禁止对话框?

AB两个窗口,A先B后,依次进入同一画面。进入画面后,A不进行操作,B点击按钮,提示对话框。然后切换A,再切回B,期间不作任何处理,B的对话框不显示。
F12发出如下警告:

img

此页面生成的window.confirm()对话框被取消显示,因为此页面不是前窗口的活动选项卡。
请确保您的对话框是由用户交互触发的,以避免出现这种情况。
如何解决呢

  • 写回答

1条回答 默认 最新

  • 自在猫先生 2023-05-06 11:45
    关注

    该警告是因为Edge浏览器的安全策略,禁止非用户交互触发的对话框。解决方法是在点击按钮时,使用JavaScript的事件监听器来触发对话框,而不是直接调用window.confirm()。例如:

    <button id="myButton">Click Me</button>
    
    <script>
    document.getElementById("myButton").addEventListener("click", function() {
        var result = window.confirm("Are you sure?");
        if (result) {
            //用户点击了确定按钮
        } else {
            //用户点击了取消按钮
        }
    });
    </script>
    

    使用事件监听器可以确保对话框是由用户交互触发的,避免出现禁止对话框的警告。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 5月10日
  • 已采纳回答 5月10日
  • 修改了问题 5月5日
  • 创建了问题 5月5日

悬赏问题

  • ¥15 springboot aop 应用启动异常
  • ¥15 matlab有关债券凸性久期的代码
  • ¥15 lvgl v8.2定时器提前到来
  • ¥15 qtcp 发送数据时偶尔会遇到发送数据失败?用的MSVC编译器(标签-qt|关键词-tcp)
  • ¥15 cam_lidar_calibration报错
  • ¥15 拓扑学,凸集,紧集。。
  • ¥15 如何扩大AIS数据容量
  • ¥15 单纯型python实现编译报错
  • ¥15 c++2013读写oracle
  • ¥15 c++ gmssl sm2验签demo