问题标签 [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.
javascript - onunload 如何影响页面性能
我有一个在处理程序中做大量工作的网站window.onunload
。我正在努力优化它,但我并不真正了解它如何影响我的页面性能。似乎它阻止重新加载页面或导航到同一域上的另一个 URL,但它似乎并没有阻止跨域导航。它似乎也会在 Chrome 上间歇性地导致性能问题,但在 IE 上更一致地重现。有人可以解释如何window.onunload
影响网站性能或指向我的规范吗?
javascript - 如何在mongodb中保存window.onunload数据?
我将页面内容的状态保存在 cookie 中,如下所示。Web 应用程序有一个基本的用户身份验证,用户数据保存在数据库中。我可以将 unonload 函数保存在同一个集合中,以便将用户链接到 unonload 函数吗?
angularjs - 如果用户离开域,则获取用户对 beforeunload 事件的响应
我有一个 AngularJS 应用程序并使用以下代码让用户确认他/她是否真的想离开页面并且可能会丢失未保存的数据:
这很好用,浏览器会显示消息框,用户必须在其中决定离开或留在页面上。但是,如果用户真的想离开页面,我必须调用一个 rest 后端。为此,我认为我还可以注册用户实际离开后部时触发的卸载事件。如果用户重新加载后台或导航到应用程序中的不同 url,则此方法有效。但是,当用户导航到另一个页面或关闭浏览器时,不会触发该事件,或者至少我看不到它。
我怎样才能捕捉到这些事件并确保我的休息电话仍然通过?
javascript - 与现有 Javascript 冲突的预加载器
我在实现 javascript 方面不是很熟练,而且在我网站的某个页面上工作的预加载器似乎存在问题。它似乎与另一个正在加载内容的脚本冲突。
两个脚本独立工作,但不能一起工作。我确定这很简单,但我只是不太了解 javascript。
javascript - 捕获浏览器选项卡重新加载和选项卡关闭功能
我想在浏览器或标签关闭的其他页面上调用 ajax。当我们重新加载选项卡或关闭选项卡时,它会调用 onbeforeUnload 和 onUnload 事件。
如果我通过按ctrl+r
或按enter
地址栏重新加载页面,它应该在没有任何提示的情况下重新加载页面,如果我单击浏览器或选项卡的关闭或我按下ctrl+w
键,它应该提示“您所做的更改可能会丢失”,如果用户单击离开它应该关闭选项卡并调用 ajax,否则它应该留在页面上。
谁能帮我这个?
提前致谢
javascript - 关闭浏览器选项卡时打开模式
想要在关闭浏览器选项卡时打开模式。试过了window.onbeforeunload
,window.unload
但不工作。任何其他使用 JavaScript 或 jQuery 的解决方案?
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 中的代码片段在刷新窗口或单击后退/前进按钮时按预期在调试器断点处暂停。退出选项卡或完全关闭浏览器按预期工作。
javascript - 我需要捕获 window.onbeforeunload 事件
我正在开发一个需要捕获浏览器关闭事件(unload
或beforeunload
)的项目。为此,我尝试了下面的代码,但它不起作用。
该代码仅在我打开浏览器控制台窗口(可能只是一秒钟)时才有效,但它是必需的,否则它不起作用。
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 的政策最近发生了变化,比如this或this。
似乎大多数人都建议navigator.sendBeacon
实现这一点,但在文档中我只看到了使用它提出POST
请求的方法,有什么想法吗?提前致谢。
javascript - $(window).unload 被许多事件触发,如何仅在关闭选项卡时触发事件?
我想在关闭选项卡时清除本地存储。如果我使用$(window).unload
,它也会在页面刷新时清除存储。有没有办法只有在标签关闭时才能做到这一点?