Javascript onbeforeunload仅在“开发人员工具”窗口处于活动状态时工作

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并在

作为标题,我在AngularJS项目中有以下代码:

  window.onbeforeunload = function (e) {
    e.preventDefault();
    if ($sessionStorage.toReload) {
      return 'Are you sure?';
    }
  };
若“开发人员工具”窗口处于打开状态,它可以正常工作,但在正常执行过程中不会。这在Chrome和Firefox中都会发生


我如何修复它?

你能创建一个plunkr并在那里共享演示代码吗?不幸的是,这是一个非常大的项目的一部分。我不确定它是否会有与
onbeforeunload
事件的文档相同的结果:
注意:为了防止不必要的弹出窗口,一些浏览器不显示在beforeunload事件处理程序中创建的提示,除非页面已经与之交互;有些根本不显示它们。有关特定浏览器的列表,请参阅浏览器兼容性部分。
因此,如果我单击chrome中的按钮或其他UI元素,它将正常工作。但是,如果我只是打开页面,然后不做任何事情就再次关闭它,我不会得到弹出窗口。这确实帮助我理解了这个问题,谢谢。有什么方法可以模拟交互吗?