如何在离开页面时弹出确认对话框

onbeforeunload测试

它(根据MDN)应该由“addEventListener”(MDN)注册

测试1: chrome 只在刷新时有作用,关闭窗口不触发该事件。(也要有操作,比如按下F12键)

测试2: 用户有操作(比如单击、选择文字、按键等)才会触发chrome关闭窗口时提示!
https://blog.csdn.net/xj932956499/article/details/103181022
1、在IE中这个事件你只要去关闭窗口就触发。
2、谷歌、火狐等在F12调试模式中也会起效
3、谷歌、火狐、QQ等浏览器中被优化了,需要用户在页面有过任何操作才会出现提示!(坑)

测试3: 在刷新期间 是否 窗口提示?
https://qa.1r1g.com/sf/ask/1685718961/

此示例卸载站点(写入控制台文本“UNLOAD:1”)在刷新期间没有窗口提示。

window.addEventListener("beforeunload", function(event) {
  console.log("UNLOAD:1");
  //event.preventDefault();
  //event.returnValue = null; //"Any text"; //true; //false;
  //return null; //"Any text"; //true; //false;
});
此示例卸载站点(写入控制台文本“UNLOAD:1”)在刷新期间带有窗口提示。

window.addEventListener("beforeunload", function(event) {
  console.log("UNLOAD:1");
  //event.preventDefault();
  event.returnValue = null; //"Any text"; //true; //false;
  //return null; //"Any text"; //true; //false;
});