首页 > 其他分享 >vue3 判断浏览器打开窗口页签变化

vue3 判断浏览器打开窗口页签变化

时间:2024-09-12 19:54:39浏览次数:11  
标签:handleVisibilityChange 窗口 前台 visibilityState 切换 vue3 浏览器 document 页面

      场景:当需要同时打开两个页签,需要在切换页签的时候,重新获取数据 

      根据document.visibilityState结果判断。如果为visible则证明回到当前页签, 如果为hidden则证明当前页面未显示(前往了其他页签)

import { onMounted, onUnmounted } from 'vue';
    const handleVisibilityChange = () => {
      if (document.visibilityState === 'visible') {
        // 页面被切换到前台
        console.log('页面被切换到前台');
        // 在这里执行页面回到前台时需要做的事情
      } else if (document.visibilityState === 'hidden') {
        // 页面被切换到后台
        console.log('页面被切换到后台');
        // 在这里执行页面离开时需要做的事情
      }
    };
 
    onMounted(() => {
      document.addEventListener('visibilitychange', handleVisibilityChange);
    });
 
    onUnmounted(() => {
      document.removeEventListener('visibilitychange', handleVisibilityChange);
    });

标签:handleVisibilityChange,窗口,前台,visibilityState,切换,vue3,浏览器,document,页面
From: https://blog.csdn.net/zhujiyan666/article/details/142183916

相关文章

  • uniapp vue3使用crypto-js加密解密
    开启crypto-js加密解密的研究历程如何查看crypto-js的版本号?检查crypto-js是否正常我是这样认为的Nativecryptomodulecouldnotbeusedtogetsecurerandomnumber.本机加密模块无法用于获取安全随机数。PC端调试好好的,然后在微信小程序,安卓模拟器,真机调试就......
  • 【转】[C#][WPF] 避免窗口最大化时遮盖任务栏
    转自:https://learn.microsoft.com/zh-cn/previous-versions/msdn10/dd366102(v=MSDN.10)WPF窗口最大化时有个很不好的现象是:如果窗口的WindowStyle被直接或间接地设置为None后(比如很多情况下你会覆盖默认的窗体样式,即不采用Windows默认的边框和最大化最等按钮,来打造个性的窗......
  • 如何使用谷歌浏览器开发者工具调试CSS
    使用谷歌浏览器内置的开发者工具可以极大地简化CSS调试过程。这套工具不仅可以帮助开发者识别和修正样式问题,还能实时编辑和查看CSS变化,是前端开发不可或缺的助手。下面就给大家分析一下如何使用谷歌浏览器开发者工具调试CSS。(本文由https://www.chromexiazai.net/站点的作者......
  • 牛逼!在Vue3.5中仅仅2分钟就能封装一个自动cancel的fetch函数
    前言在欧阳的上一篇这应该是全网最详细的Vue3.5版本解读文章中有不少同学对Vue3.5新增的onWatcherCleanup有点疑惑,这个新增的API好像和watchAPI回调的第三个参数onCleanup功能好像重复了。今天这篇文章来讲讲新增的onWatcherCleanup函数的使用场景:封装一个自动cancel的fetch......
  • vue3 服务端渲染
    https://cn.vuejs.org/guide/scaling-up/ssr.html疑问在服务端渲染时如何发起请求从服务器获取用于渲染的数据?使用SSR时还有一些权衡之处需要考量更高的服务端负载。在Node.js中渲染一个完整的应用要比仅仅托管静态文件更加占用CPU资源,因此如果你预期有高流量,请......
  • Java学习1:命令行窗口执行.java程序(自用)
    编写源代码:编译与执行:1、普通方法:生成了.class文件(字节码)2、从Java11开始,由单个文件构成的java程序,无需编译,可以直接执行。使用这种方法也不产生.class文件。该方法可快速测试程序。但源文件必须是单个的.java文件。问题:文件名与public类名是否必须相同?答:不一定......
  • Edge浏览器设置夜间模式/深色模式
    问题背景普通白色背景感觉有点刺眼,想改成深色背景,但是默认的设置里面只能修改边框的颜色:这里虽然设置界面和边框变成了黑色的,但是实际上打开网页还是白色的。全局配置在Edge浏览器打开edge://flags/,然后搜索DarkMode,从中选取对应的模式,可以直接Enable,我使用的配置为:配......
  • vue3 h5自定义tabbar并用keep-alive保存缓存路由
            路由嵌套封装tabbar组件创建一个容器放tabbar和子路由keep-alive保存路由状态1.路由嵌套{ path:'/', name:'index', component:()=>import('@/views/index.vue'), children:[ { path:'', redirect:'/com', m......
  • 通过LiveGBS实现安防监控摄像头GB28181转成WebRTC流实现web浏览器网页无插件低延迟直
    @目录1、WebRTC超低延时直播2、WebRTC延时对比3、LiveGBS的低延时的WebRTC流4、分屏页面如何选择默认播放流5、无法播放Webrtc6、搭建GB28181视频直播平台1、WebRTC超低延时直播需要低延时的视频流监控播放,之前可以用rtmp的低延时播放(1秒左右),随着浏览器对rtmp的禁用,无插件的低延......
  • 解决vue3 useRoute无法获取get参数记录
    总结:使用route.query无法获取到get参数,开发模式代码改动能拿到,但是刷新又没了,需要监听route.query才能拿到get参数。正文:我的常规使用方法:先安装vue-routernpminstallvue-router@next创建src/router/index.js:import{createRouter,createWebHistory}from'vue-rou......