问题标签 [window.onunload]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
4855 浏览

asp.net - Javascript window.onunload 在 Page_Load 之后触发

我注意到 window.onunload 事件在 page_load 事件之后触发,这是没有意义的。

这种行为给我带来了一个问题 - 在我的卸载中我清除了会话,所以如果 Page_Load 首先在卸载之前,显示的页面上有错误。

我希望javascript onunload 在Page_Load 之前触发......这是正确的假设吗?

澄清:假设我在页面 test.aspx 上,然后我点击进入同一页面的链接(比如我点击一个菜单),我观察到的是 Page_Load 首先触发,然后 onunload 触发。完全没有意义。

0 投票
2 回答
1805 浏览

asp.net - ASP.net 用户控制噩梦

我已经实现了一个用户控件,可以在多个页面上重复使用。但是,我遇到了各种各样的问题,例如跨页面的会话维护、导航时的会话清除——本质上是控制状态维护,我想知道这一切都值得头疼。

每次加载页面时,都会向其中添加一个控件,如果适用,我会使用 session 重新创建其状态。当我离开一个页面时,我使用 web 方法通过 javascript window.onunload 清除会话。Window.onunload 在新的 page_load 事件之后执行给我带来了麻烦,因此造成了一种非常难以处理的情况。

关于如何在不放弃用户控件的情况下解决此问题的任何提示?重用代码而不扯掉头发的另一种方法是什么?谢谢!

0 投票
2 回答
5437 浏览

javascript - 在 window.onunload 事件中获取下一个要打开的页面的 url

有没有办法在 window.onunload 事件中获取下一个打开页面的位置。

最好的问候, 凯沙夫

0 投票
2 回答
7551 浏览

javascript - window.onunload 仅在 Firefox 中关闭选项卡时触发,而不是整个浏览器

更新

因此,在阅读了您的两个答案后,我意识到没有可靠的方法来确定浏览器窗口何时关闭。最初我打算在页面关闭时使用它来解锁数据库中的记录。基本上,当用户加载页面时,它正在访问的记录会锁定,然后在页面关闭时解锁。关于如何以不同/更好的方式做到这一点的任何建议?我正在考虑只是在页面上发布一条通知,他们必须使用关闭按钮来关闭表单而不是 X,如果他们确实使用 X 关闭,则记录会保持锁定状态 5 分钟,直到他们可以访问它再次。


这段代码非常简单,因为我只是在测试它。基本上,当我在 IE 和 Chrome 中运行此页面时,警报会正常触发。当我在 Firefox 中仅在一个选项卡中运行它并关闭整个浏览器时,警报永远不会触发。但是,如果我有多个选项卡并将页面作为新选项卡打开,然后使用选项卡上的 X 将其关闭,则会触发警报。有谁知道 Firefox 在那里做什么?

任何帮助表示赞赏,因为必须打开多个选项卡才能触发 onunload 是非常不可取的。

0 投票
1 回答
868 浏览

javascript - iPhone/iTouch 未触发(新图像)请求 onunload

嘿伙计们,希望有人可以帮助我。

我正在制作一个小应用程序来记录点击,这很好,直到我点击了 iPhone/iTouch。我想指出,我一直在用 iTouch 进​​行测试,我只是假设 iPhone 上也会发生同样的事情。

我现在所拥有的是与此类似的东西,

这段代码适用于我所有的桌面浏览器,包括 Safari,但在 iTouch/iPhone 上,不行。如果我在任何 onunload 实践之外执行 save() 函数,数据发送就好了。由于警报,我知道 onunload 有效。但是我对图像对象在这种情况下不工作,但在其他任何地方都工作感到非常困惑。我在网上查了很多,没有找到解决办法。

也许这里有人可以给我一个解决方案或解释为什么会这样?我会很感激。感谢您的时间。

0 投票
3 回答
22883 浏览

javascript - window.onbeforeunload 确认对话框的捕获结果

有没有一种方法可以从 Stack Overflow 捕获如下window.onbeforeunload确认对话框的结果(在离开“提问”页面而不发布问题时会发生这种情况)?

这就是它在 Chrome 中的显示方式,我相信它在其他浏览器中略有不同,但你总是有某种形式的是/否按钮。

window.onbeforeunload 确认对话框

大概如果他们在事件触发后仍然在有问题的页面上,他们会选择留下来,你可以通过观察 js 的顺序来弄清楚这一点。但是我想知道如何确定他们是否点击了“离开此页面”

我已经实现了如下:

注意我在我的网站中使用 jQuery。

我本质上是在尝试实现类似 Gmail 的草拟实现,其中如果用户离开页面时使用了他们已更改但未保存的表单,他们会被类似的对话框加热。如果他们选择放弃他们所做的更改并离开页面,我需要从数据库中清理一些临时记录(我正在考虑 AJAX 调用,或者只是提交带有delete标志的表单),然后将它们发送到他们的路上。

我的问题还涉及:

在手动刷新页面后触发 onunload 处理程序中的 jQuery AJAX 调用。我如何保证 onunload 先发生?

0 投票
3 回答
5597 浏览

javascript - window.onbeforeunload 处理正常并取消选项

我有一个window.onbeforeunload生成默认消息的函数:

“您确定要离开此页面吗……”。

如果我们单击,OK我们将被重定向到一个新链接,如果我们按下cancel,我们将被重定向回同一页面。

OK 当我们按下并离开页面时,我想从页面中保存一些数据。我们如何知道是否OKcancel已被按下,然后进行事件调用并继续使用“ok”/“cancel”选项。

0 投票
1 回答
134 浏览

javascript - 与弹出窗口相关的javascript问题

我需要一个用户无法刷新的弹出窗口。为此我正在尝试这个:

新页面.html

当我尝试重新加载浏览器时,这里会生成警报。但return false;不工作。

或者如果有可能没有Navigation bar在新弹出的窗口中。

所以请帮忙

0 投票
1 回答
1733 浏览

internet-explorer-9 - 卸载在 IE9 和 FF4 中不起作用

以上是代码:当用户尝试关闭浏览器时,我正在尝试发送数据。
Onunload 方法在 IE7 和 IE8 中有效,但在 IE9 和 FF4 中无效。应用程序内置在 Flex 3.0 sdk 中。

谁能建议 onunload 有什么问题,是否有解决方案可以在浏览器关闭时可靠地发送数据以及 onunload 如何在所有浏览器中始终如一地工作?

0 投票
2 回答
2320 浏览

javascript - 通过 X 按钮和 onload 窗口事件关闭弹出窗口

关于这个主题有很多问题,但我还没有看到我的情况得到解决,所以我将描述我的情况。

我有一个弹出窗口。有两种方法可以关闭它:按下弹出窗口中的关闭按钮或按下窗口右上角的 x 按钮。它们具有完全相同的效果。如果我可以禁用 x 我会的,但这是不必要的,并且不会很快在您最喜欢的浏览器中发生。本质上,当窗口关闭时我正在做一些后期处理(实际上是会话清理),并且不会产生无休止的新弹出窗口来惹恼我的用户。相信我,客户要求这种行为。

所以我可以做 window.onunload 或者我可以做 body onunload ,无论哪种方式都会给我我想要的结果。然而,还有第三种情况使事情复杂化。在弹出窗口中,可以有一个表单提交,它会更改该弹出窗口的内容。如果是这种情况,将调用 window.onunload 或 body unload,具体取决于我在页面上设置的内容。这不是我想要的。我希望在弹出窗口视觉上从视线中消失(x 或关闭按钮)时进行后处理,但不要在表单提交发生时进行后处理,使弹出窗口仍然在此屏幕上可见。

任何人都可以谈谈这种情况吗?

编辑:我尝试不触发 window.onunload 的解决方案