相关疑难解决方法(0)

如何禁用角度中弹出的“离开站点?。您所做的更改可能不会保存”?

我试图在到达订单确认页面后关闭浏览器,它会发出如下所示的警报。这会给用户造成误解,认为他的更改尚未保存。所以我想避免这个弹出窗口。

在此输入图像描述

我知道此警报是由于beforeunload事件而触发的。我尝试过的解决方案:

window.addEventListener("beforeunload",(event)=>{
    return null;
})
Run Code Online (Sandbox Code Playgroud)

 window.onbeforeunload=null;
Run Code Online (Sandbox Code Playgroud)

我没有在我的应用程序中使用 jQuery。有没有其他方法可以禁用此事件的触发。

我尝试过的链接:

如何禁用/覆盖“您想离开此网站吗?” 警报?

禁用“您所做的更改可能无法保存”弹出窗口

如何禁用“您所做的更改可能不会保存”。对话框(Chrome)?

他们都不为我工作。

如果没有 jQuery,我怎样才能实现这个目标?我感到困惑的是如何处理这个事件,以便它不显示弹出窗口。

我使用的是 Chrome 版本 101.0.4951.64

javascript onbeforeunload dom-events angular

12
推荐指数
1
解决办法
3万
查看次数

禁用"您所做的更改可能无法保存"弹出窗口

我使用以下前端代码导出.csv文档.

HTML

  <form id="tool-export" method="post" action="export/">{% csrf_token %}
    <a id="export-link" class="btn btn-sm btn-primary" href="#">DOWNLOAD</a>
  </form>
Run Code Online (Sandbox Code Playgroud)

JS

  $('#export-link').click(function(e) {
    e.preventDefault();
    var link = $(this);
    var form = link.closest('form');

    var project_id = proj_id.find(":selected").val();
    var input = $('<input>').attr('type', 'hidden').attr('name', 'project_id').val(project_id);
    form.append($(input));

    var project_type = proj_type.val();
    input = $('<input>').attr('type', 'hidden').attr('name', 'project_type').val(project_type);
    form.append($(input));

    form.submit();
  });
Run Code Online (Sandbox Code Playgroud)

出口运作良好,我得到了正确的文件.但是,我也会在点击导出链接后收到您所做更改可能无法保存的消息.如何禁用此消息?我不想看到它.

在此输入图像描述

javascript jquery

10
推荐指数
2
解决办法
3万
查看次数

标签 统计

javascript ×2

angular ×1

dom-events ×1

jquery ×1

onbeforeunload ×1