gpt4 book ai didi

javascript - onunload 被触发了多少次?

转载 作者:行者123 更新时间:2023-11-29 17:33:16 26 4
gpt4 key购买 nike

我刚刚遇到的问题得到了帮助 here .

var win = window.open(url, name);
win.onunload = StartLoad;
win.close();

为了彻底解决这个问题,我想知道onunload是触发一次还是每次事件发生时触发?

换句话说,每次子窗口“win”被重定向、关闭等时,我的函数 startLoad 都会运行吗?或者它会执行一次此事件就这样了吗?

抱歉,如果这是一个愚蠢的问题。

谢谢大家

最佳答案

否 - 当您在 IE6 和 IE7 中导航离开页面时,此方法可能会多次触发。

此代码片段说明了这一点(另存为 OnUnloadTest.htm):

<body>
<form id="form" action="OnUnloadTest.htm" method="post">
Click <a href="javascript:form.submit()">here</a>
</form>
<script type="text/javascript">
window.onbeforeunload = beforeunload
function beforeunload() {
alert('OnUnload');
}
</script>
</body>

基本上,该事件在实际 anchor 点击时触发一次,在页面实际回发时触发一次。我只在 anchor 的 href 中包含 javascript 时才看到此问题,但如果您使用 ASP.NET 链接按钮,则会收到警告,因为这会将 javascript 放入 href 中。

对于大多数其他类型的导航(例如,用户单击普通 anchor ,或关闭浏览器,或使用书签导航等),该事件仅触发一次。

关于javascript - onunload 被触发了多少次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1116485/

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