什么是 $(window).unload() 的万无一失的替代方案?

vib*_*006 0 javascript jquery

我正在阅读jQuery API 文档中.unload()给出的函数的jQuery 文档

写得很清楚,.unload()will 在 1.8 之后的版本中被弃用,并在 3.x 中完全删除。

我有一个依赖此.unload()功能的本地 Intranet 应用程序。

我是否必须手动依赖window.onbeforeunload功能并查看特定浏览器是否支持此功能,或者任何人都可以帮助我找到更通用的解决方案。

按照凯文的建议,我试过了

$(window).on("unload", function(e){
    return confirm("Do you really want to exit");
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
Testing JQuery Unload in 3.x Version
Run Code Online (Sandbox Code Playgroud)

小提琴

但它不起作用

Sag*_*r V 5

unload是 jQuery 中的速记方法,已弃用。使用时on,您必须使用与 JavaScript 删除中出现的完全相同的事件on

在这里,使用beforeunload代替unload

//$(window).on("unload", function(e){
//              ^^^
$(window).on("beforeunload", function(e) {
//            ^^^
  return confirm("Do you really want to exit");
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
Testing JQuery Unload in 3.x Version
Run Code Online (Sandbox Code Playgroud)