问题标签 [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 投票
2 回答
142 浏览

javascript - onunload 如何影响页面性能

我有一个在处理程序中做大量工作的网站window.onunload。我正在努力优化它,但我并不真正了解它如何影响我的页面性能。似乎它阻止重新加载页面或导航到同一域上的另一个 URL,但它似乎并没有阻止跨域导航。它似乎也会在 Chrome 上间歇性地导致性能问题,但在 IE 上更一致地重现。有人可以解释如何window.onunload影响网站性能或指向我的规范吗?

0 投票
0 回答
36 浏览

javascript - 如何在mongodb中保存window.onunload数据?

我将页面内容的状态保存在 cookie 中,如下所示。Web 应用程序有一个基本的用户身份验证,用户数据保存在数据库中。我可以将 unonload 函数保存在同一个集合中,以便将用户链接到 unonload 函数吗?

0 投票
1 回答
573 浏览

angularjs - 如果用户离开域,则获取用户对 beforeunload 事件的响应

我有一个 AngularJS 应用程序并使用以下代码让用户确认他/她是否真的想离开页面并且可能会丢失未保存的数据:

这很好用,浏览器会显示消息框,用户必须在其中决定离开或留在页面上。但是,如果用户真的想离开页面,我必须调用一个 rest 后端。为此,我认为我还可以注册用户实际离开后部时触发的卸载事件。如果用户重新加载后台或导航到应用程序中的不同 url,则此方法有效。但是,当用户导航到另一个页面或关闭浏览器时,不会触发该事件,或者至少我看不到它。

我怎样才能捕捉到这些事件并确保我的休息电话仍然通过?

0 投票
0 回答
17 浏览

javascript - 与现有 Javascript 冲突的预加载器

我在实现 javascript 方面不是很熟练,而且在我网站的某个页面上工作的预加载器似乎存在问题。它似乎与另一个正在加载内容的脚本冲突。

两个脚本独立工作,但不能一起工作。我确定这很简单,但我只是不太了解 javascript。

0 投票
1 回答
450 浏览

javascript - 捕获浏览器选项卡重新加载和选项卡关闭功能

我想在浏览器或标签关闭的其他页面上调用 ajax。当我们重新加载选项卡或关闭选项卡时,它会调用 onbeforeUnload 和 onUnload 事件。
如果我通过按ctrl+r或按enter地址栏重新加载页面,它应该在没有任何提示的情况下重新加载页面,如果我单击浏览器或选项卡的关闭或我按下ctrl+w键,它应该提示“您所做的更改可能会丢失”,如果用户单击离开它应该关闭选项卡并调用 ajax,否则它应该留在页面上。
谁能帮我这个?
提前致谢

0 投票
1 回答
1281 浏览

javascript - 关闭浏览器选项卡时打开模式

想要在关闭浏览器选项卡时打开模式。试过了window.onbeforeunloadwindow.unload但不工作。任何其他使用 JavaScript 或 jQuery 的解决方案?

0 投票
1 回答
3926 浏览

javascript - 如何让窗口 onunload 事件触发器在 Chrome v73.x 中工作?

似乎使用最新版本的 Chrome(版本 73.0.3683.103(官方构建)(64 位)),没有调用窗口 onunload 事件处理程序。

在最新版本的 Chrome 中,我的 onunload 匿名函数似乎无法访问。

我正在关注 MDN Web 文档(https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onunload)。

当我在每个浏览器中运行开发人员工具时,我在 Chrome 版本 66.0.3359.117 和 Firefox 66.x 中的代码片段在刷新窗口或单击后退/前进按钮时按预期在调试器断点处暂停。退出选项卡或完全关闭浏览器按预期工作。

https://codepen.io/anon/pen/jRxJxJ

0 投票
1 回答
1191 浏览

javascript - 我需要捕获 window.onbeforeunload 事件

我正在开发一个需要捕获浏览器关闭事件(unloadbeforeunload)的项目。为此,我尝试了下面的代码,但它不起作用。

该代码仅在我打开浏览器控制台窗口(可能只是一秒钟)时才有效,但它是必需的,否则它不起作用。

例子

0 投票
1 回答
563 浏览

javascript - JavaScript - 在标签关闭时发送 AJAX 调用(删除请求)

当用户关闭选项卡时,DELETE我想通过 Javascript发送 AJAX请求。流程如下:

当用户尝试关闭选项卡时,onbeforeunload会发生一个事件,然后如果用户确认离开页面,则该onunload事件会发生并尝试执行该deleteRequest功能,这是一个synchronous ajax delete请求。

不幸的是,它似乎Google Chrome 不再支持这一点,因为当一个选项卡关闭它会杀死所有待处理的事件,并且在浏览器的控制台中我可以看到以下消息

DOMException:无法在“XMLHttpRequest”上执行“发送”:无法加载“http://.....”:页面关闭中的同步 XHR。有关详细信息,请参阅https://www.chromestatus.com/feature/4664843055398912 。在 deletRequest(.......js:411:17) 在 window.onunload

请注意,我之前已经在 SO 上看到过很多关于这个问题的主题,但是这些解决方案并没有真正帮助,因为它们中的大多数已经过时了,因为 chrome 的政策最近发生了变化,比如thisthis

似乎大多数人都建议navigator.sendBeacon实现这一点,但在文档中我只看到了使用它提出POST请求的方法,有什么想法吗?提前致谢。

0 投票
1 回答
39 浏览

javascript - $(window).unload 被许多事件触发,如何仅在关闭选项卡时触发事件?

我想在关闭选项卡时清除本地存储。如果我使用$(window).unload,它也会在页面刷新时清除存储。有没有办法只有在标签关闭时才能做到这一点?