当前位置: 首页 > 面试题库 >

javascript中是否有一种方法可以检测到卸载事件是通过刷新,后退按钮还是关闭浏览器引起的?

党佐
2023-03-14
问题内容

我目前正在查看窗口的“卸载”事件,以尝试确定如何触发“卸载”事件,但是收效甚微。有没有办法确定如何触发javascript事件?

  • 页面刷新
  • 后退按钮(或浏览离开页面)
  • 关闭浏览器

本质上,我仅在关闭浏览器窗口而不刷新或离开浏览器窗口时才需要执行一些代码。

目的:
当客户对我们的软件进行更新时,更新会将他们的第一个Internet请求重定向到报价页面。有一个“不打扰”选项的按钮,但是某些用户只会关闭他们的浏览器。关闭浏览器后,我需要复制“请勿打扰”功能,以便不再将用户重定向到商品页面。由于离开页面的方式不同,仅附加到“卸载”事件将不起作用。


问题答案:

不,如果有的话,将取决于浏览器。当用户关闭页面时,您尝试运行哪种代码?是否注销用户?然后,如果浏览器崩溃或网络连接中断(如果计算机进入睡眠/hibernate模式,则可能不会注销),则不会注销用户。

如果是出于登出目的,则可能应该在随每个请求进行更新的服务器上使用timestamphtml" target="_blank">变量(或使用ajax-ping),如果在指定时间内未看到该用户,则登出该用户。



 类似资料:
  • 问题内容: 您如何确定用户是否按下浏览器中的“后退”按钮? 您如何使用系统在单页Web应用程序内强制使用页内后退按钮? 到底为什么浏览器后退按钮不触发自己的事件!? 问题答案: (注意:根据Sharky的反馈,我提供了用于检测退格的代码) 因此,我经常在SO上看到这些问题,并且最近遇到了我自己控制后退按钮功能的问题。在为我的应用程序寻找最佳解决方案(带哈希导航的单页)几天后,我提出了一个简单的,跨

  • 问题内容: 对于所有主流浏览器(IE浏览器除外),由于后退按钮操作导致页面加载时JavaScript 事件不会触发-仅在页面首次加载时触发。 有人可以指出一些解决该问题的示例跨浏览器代码(Firefox,Opera,Safari,IE等)吗?我对Firefox的事件很熟悉,但不幸的是Opera和Safari都没有实现这一功能。 问题答案: 伙计们,我发现JQuery仅具有一种作用:当按下后退按钮时

  • 本文向大家介绍基于JavaScript判断浏览器到底是关闭还是刷新(超准确),包括了基于JavaScript判断浏览器到底是关闭还是刷新(超准确)的使用技巧和注意事项,需要的朋友参考一下 本文是小编总结的一些核心内容,个人感觉对大家有所帮助,具体内容请看下文: 页面加载时只执行onload 页面关闭时只执行onunload 页面刷新时先执行onbeforeunload,然后onunload,最后o

  • 我需要调用一个函数,在浏览器窗口关闭时从系统中记录用户。 我找到了一个函数,但在重新加载浏览器时也会调用该函数,我不希望用户在重新加载浏览器时注销。一旦浏览器窗口关闭,我就需要这样做。 这可行吗?

  • 问题内容: 我的JavaScript会定期进行活动。当用户不查看站点时(即窗口或选项卡没有焦点),最好不要运行。 有没有办法使用JavaScript做到这一点? 我的参考点:如果您使用的窗口未激活,则Gmail聊天会播放声音。 问题答案: 自从最初编写此答案以来,新的规范已达到推荐状态。现在,页面可见性API使我们能够更准确地检测页面何时向用户隐藏。 当前的浏览器支持: hrome 13+ Int

  • 我想我问错了问题,也就是说,它的措辞是错误的,因为我找不到这个问题的答案,而且我不可能是第一个问这个问题的人.... 目的:当用户将鼠标移动到后退按钮(history.back)上时,做一些事情。 为什么:当用户将鼠标移到后退按钮上或移向后退按钮时,会弹出一个带有站点提供的模型。 问题: 后退按钮是否有一个选择器,这样我就可以执行以下操作: > 取回按钮X和Y线 获取鼠标按钮X和Y线 比较,如果相