gpt4 book ai didi

JavaScript + onunload 事件

转载 作者:行者123 更新时间:2023-11-30 23:52:00 30 4
gpt4 key购买 nike

我想触发 onunload 事件来执行一些清理操作,我有多个选项卡(导航栏)显示指向不同网页的多个链接,我的问题是,即使我在其他页面中,我的卸载功能也位于其他一些jsp 的标签被触发。请帮助解决这个问题,我希望当用户关闭该页面中的浏览器时调用卸载函数。

最佳答案

我不确定你是如何让 onunload 事件起作用的......我发现使用 onunload 事件的问题是它在页面卸载后被触发。这意味着无法再执行 JavaScript,因为页面已被卸载。

您应该考虑使用 onbeforeunload 事件。该事件有点独特,因为如果处理该事件的函数返回任何内容,则会显示弹出窗口,询问用户是否要继续操作。因此,在您的情况下,请确保您的函数不会返回任何内容。关于 onbeforeunload 事件需要注意的另一件事是,目前 Opera 不支持它(Safari、FireFox 和 Internet Explorer 不支持)。

每次卸载页面时都会执行 onbeforeunload 和 onunload 事件。如果页面上的控件将页面提交给服务器代码,则页面将被卸载并执行 JavaScript。

如果您不希望在页面上的控件将 JavaScript 提交到服务器时执行 JavaScript,则必须实现一些东西来检查是否应该执行您的代码。

这很简单,向页面添加一个 JavaScript bool 值和一个将该 bool 值设置为 true 的函数。确保页面中回发到服务器代码的每个元素在提交页面之前都将此 bool 值设置为 true。在 onbeforeunload 事件中检查此 bool 值,看看是否应执行清理代码。

希望这有帮助,

-弗林尼

关于JavaScript + onunload 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1254869/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com