我试图在到达订单确认页面后关闭浏览器,它会发出如下所示的警报。这会给用户造成误解,认为他的更改尚未保存。所以我想避免这个弹出窗口。
我知道此警报是由于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
我使用以下前端代码导出.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)
出口运作良好,我得到了正确的文件.但是,我也会在点击导出链接后收到您所做的更改可能无法保存的消息.如何禁用此消息?我不想看到它.