Javascript onbeforeunload仅在“开发人员工具”窗口处于活动状态时工作
作为标题,我在AngularJS项目中有以下代码:Javascript onbeforeunload仅在“开发人员工具”窗口处于活动状态时工作,javascript,angularjs,onbeforeunload,Javascript,Angularjs,Onbeforeunload,作为标题,我在AngularJS项目中有以下代码: window.onbeforeunload = function (e) { e.preventDefault(); if ($sessionStorage.toReload) { return 'Are you sure?'; } }; 若“开发人员工具”窗口处于打开状态,它可以正常工作,但在正常执行过程中不会。这在Chrome和Firefox中都会发生 我如何修复它?你能创建一个plunkr并在
window.onbeforeunload = function (e) {
e.preventDefault();
if ($sessionStorage.toReload) {
return 'Are you sure?';
}
};
若“开发人员工具”窗口处于打开状态,它可以正常工作,但在正常执行过程中不会。这在Chrome和Firefox中都会发生
我如何修复它?你能创建一个plunkr并在那里共享演示代码吗?不幸的是,这是一个非常大的项目的一部分。我不确定它是否会有与
onbeforeunload
事件的文档相同的结果:注意:为了防止不必要的弹出窗口,一些浏览器不显示在beforeunload事件处理程序中创建的提示,除非页面已经与之交互;有些根本不显示它们。有关特定浏览器的列表,请参阅浏览器兼容性部分。
因此,如果我单击chrome中的按钮或其他UI元素,它将正常工作。但是,如果我只是打开页面,然后不做任何事情就再次关闭它,我不会得到弹出窗口。这确实帮助我理解了这个问题,谢谢。有什么方法可以模拟交互吗?