页面隐藏|激活|关闭的监听

title: 页面隐藏|激活|关闭的监听 id: 41fdefb4b2b347fc713f68f48b8d0881 tags: [] date: 2000/01/01 00:00:00 updated: 2022/12/09 13:40:03 isPublic: true --#|[分隔]|#--

页面隐藏|激活|关闭的监听

当开发了一个包含轮询调用接口、socket推送后实时渲染数据、持续性动画的页面时,上线后可能会出现性能问题,或者用户离开页面一段时间后,浏览器为了节省资源,会对我们的页面进行cpu、网络方面的限制,导致用户再回到页面,页面卡死或直接崩溃。

与其等浏览器把我们干死,不如我们自己只能休眠。

下面这个插件可以监听用户切换到别的页面、重新回来的事件。

可以看这个Demo,打开页面,然后切换到其他页面再回来,查看页签标题和页面中打印的信息,页面监听事件还有次数逻辑,可以看demo页面的源代码了解一下。

查看Demo

// 引入
import PageWatch from './PageWatch';

// 要绑定监听的事件对象组装(下面三个字段不是必传)
let bindEvents = {
  visible: (pageWatchObj) => {}, // 回来的回调方法
  hidden: (pageWatchObj) => {}, // 离开的回调方法
  reload: (pageWatchObj) => {}, // 即将刷新页面的回调方法
}

// 监听事件绑定成功的事件(可以不用)
let bindSuccess = () => {}

// 实例化对象
new PageWatch(bindEvents, bindSuccess)

Last updated

Was this helpful?