网页页面退出检测

写在2020-03-11,亲测可用~~ 拒绝转载抄袭,误人子弟!!!

最近写代码的时候遇到一个问题,那就是需要检测网页退出状态。本来寻思上网搜索一下,发现CSDN上全是拷贝的,要不就是好多年前的东西,根本没法用。
其实网上大多数是使用unload & onbeforeunload 进行检测的。包括某鸟教程。里面的的代码都大同小异,反正归根结底就是不好用。

方案1,使用visibilityState

网上的介绍一大堆我就不抄了,主要就是这个东西可以做到什么手机、电脑页面的可见处理。具体兼容性和属性都可以看看MDN上的介绍。里面的 hidden 属性在“用户不可见(发挥想象,什么换了个网页标签,后台,最小化,关闭)“ 的时候会被检测到。具体代码如下:

document.addEventListener('visibilitychange', function () {if (document.visibilityState === 'hidden') {document.title = '页面不可见';}if (document.visibilityState === 'visible') {document.title = '页面可见';}
});

这个东西还可以像樊小书生 的CSDN 学习。

一般在项目中,用户登录之后有消息通知的时候,用户头像上面会有一个消息数来提醒用户,但这个数字要保证新打开一个页面的时候是正确的,当切换浏览器的tab再回来的时候还要保证正确性。 摘抄自樊小书生 的CSDN介绍,侵删。

但是这种情况也有缺点,我不要什么不可见,我就要关闭!那就往下接着看咯~

方案2,使用 sendBeacon 方法

这种描述都可一看(MDN)[https://developer.mozilla.org/zh-CN/docs/Web/API/Navigator/sendBeacon] 。这个东西还是很好的,会发POST给指定的URL。这样就能很好的解决就想要关闭时执行。参考代码:

window.addEventListener('unload', function(event){navigator.sendBeacon(URL, analyticsData);});

我是小白就解释给小白看下。 里面 “URL就是要post 内容的地址,比如要是用cgi的话可能就是 setup_cgi 之类的,类似于form 里面的action属性。analyicsData 就是要post的内容了,可以把要发的放进字符变量中进行传入。”

网页页面退出检测- 解决unload onbeforunload不好用相关推荐

  1. php泛目录seo静态泛目录批量千万网页页面生成程序

    解决百度php泛目录千万网页页面生成程序 用于解决:蜘蛛少,收录慢的问题,适合冷门行业内容产出难度高的网站. seo优化大致方向:建立非长久运营站群>用此程序生成大量页面引蜘蛛>将蜘蛛导入 ...

  2. 前端 如何检测到当前的网页已经退出_js监听浏览器离开页面操作

    序言 大家是否经常遇到在关闭网页的时候,会看到一个确定是否离开当前页面的提示框?想一些在线测试系统.信息录入系统等就经常会有这一些提示,避免用户有意或者无意中关掉了页面,导致数据丢失.这里面的实现过程 ...

  3. android webview 网页图片加载不出来、显示不全、进入某页面退出,h5页面滑不了,点不了等功能异常等问题集锦

    在我们的android开发中,难免会嵌套一些h5页面在APP中,固然是减轻了开发者的负担,但也容易遇到一些很奇怪的问题. 一.网页图片加载不出来 此前笔者公司由于h5网页链接频繁被劫持篡改(链接被篡改 ...

  4. wifi信号手机测试软件,专业的WiFi检测工具有哪些?如何解决wifi信号不好?

    原标题:专业的WiFi检测工具有哪些?如何解决wifi信号不好? 有朋友wifi测试软件有哪些?WiFi信号和声音一样,强弱都是可以测量的,检测WiFi的方法有很多,作为普通的家庭用户,我们有时需要测 ...

  5. 解决移动端项目中苹果ios和安卓android手机点击输入框网页页面自动放大缩小

    一.需求问题 在公司的项目开发中,我们经常需要开发移动端的项目.但是,在移动端中,点击输入框的时候,网页页面会自动放大或者缩小.这个也并不是我们所想要的,我们只需要向输入框中输入内容就可以了. 二.需 ...

  6. 浏览器崩溃_安装谷歌浏览器后打开网页时出现页面崩溃的解决办法

    崩溃页面如下图 解决办法: 第一步:回到电脑桌面,对着谷歌浏览器快捷图标右键,在弹出的对话框中选择"属性".如下图 第二步:在属性对话框中,在"目标"对应的值尾 ...

  7. html页面在ie上出现404怎么解决,ie浏览器网页上有错误解决方法详解

    ie浏览器网页上有错误解决方法详解 最近网友反馈我的浏览器左下角总显示"网页上有错误",我已经修复过IE了,可是不管用.然后在浏览器上看不到网上的视频和图片的播放.在QQ空间上输入 ...

  8. ie打开本地html页面慢,Win10系统网页打开缓慢怎么解决?IE浏览器打开网页慢怎么应对?...

    有些用户对自己家的网速他别没有信心,不是宽带不够兆,而是Win10系统的网速被网络模式限制了,笔者使用两个系统同时打开同一个网页,发现Win10正式版的网速确实没有Win7系统快,最明显的是无线网络, ...

  9. HTML文本错位,DIV+CSS网页错位诊断和解决方法

    你地DIV+CSS网页错位的概念是否了解,这里和大家分享一下常见DIV+CSS网页错位问题及解决方法,希望对你的学习有所帮助. DIV+CSS网页错位诊断 随着WEB2.0标准化设计理念的普及,国内很 ...

最新文章

  1. 2022-2028年中国手机支付市场投资分析及前景预测报告
  2. Android 人民币符号在布局中实现的效果不一样的处理方法
  3. 计算机专业知识认识报告,计算机专业认识习报告.doc
  4. docker容器的标准使用过程_跟我一起学docker(四)--容器的基本操作
  5. GAN生成对抗网络-GAN原理与基本实现-去噪与卷积自编码器01
  6. 02.改善深层神经网络:超参数调试、正则化以及优化 W3. 超参数调试、Batch Norm和程序框架
  7. java判断经纬度是否在扇形内_地理坐标是用经度
  8. pcs7更改项目计算机名时出错,PCS7 v8.1 亚洲版 问题汇总
  9. ucore Lab1 系统软件启动过程
  10. lro gro_斯威夫特:Gro吟M
  11. 在Vista中用鼠标激活Flip 3D
  12. 基于 IPO 经济理论模型对目前 ICO 的理论研究和分析
  13. php edm 系统,edm.php · 那些年我们一起/fanwe - Gitee.com
  14. hazy的零碎知识点(防遗忘)
  15. 关于linux python3.7版本 No module named ‘_ssl‘报错
  16. 手风琴式折叠html,基于jQuery实现以手风琴方式展开和折叠导航菜单
  17. APOLLO 6.0安装教程
  18. in use 大学英语4word_2015年6月大学英语四级真题试题及答案(word完整版)
  19. PyCharm中的iCCP: known incorrect sRGB profile报错问题
  20. c语言win32课程表,用C语言怎么编出来课程表

热门文章

  1. python儿童编程教育_2019儿童编程语言大全
  2. python开发工具之神兵利器_擅用Python,强推这 7 种 神兵利器!
  3. java-php-python-ssm蔬菜水果销售系统计算机毕业设计
  4. 三维目标检测论文阅读:PointPillars: Fast Encoders for Object Detection from Point Clouds
  5. 基于webmagic实现爬取博客园的所有精品文章
  6. 线性回归 正规方程详细推导过程
  7. 今日头条能干掉微信么?
  8. leetcode/字符串交织,s1和s2字符串交织组成s3
  9. LAMP 技术简介(4)
  10. SPM提取大脑surface