博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
window下的窗口事件-js
阅读量:5958 次
发布时间:2019-06-19

本文共 1769 字,大约阅读时间需要 5 分钟。

window.onfocus = function(){ // 窗口获取焦点事件};

window.οnblur= function(){ // 窗口失去焦点事件};

有弊端,亲测。

所以我还有一个更好的办法,就是监听页面是否在当前,而不是最小化或离开了。

document.addEventListener('visibilitychange', () => {
if (!document.hidden) {
// 我回来了。 } }); 2018年12月7日:补充,有兼容问题。 于是我找到了这个兼容代码:
// 兼容代码到ie9(function() {    let hidden = 'hidden';    const onchange = function(evt) {        const v = 'visible';        const h = 'hidden';        const evtMap = { focus: v, focusin: v, pageshow: v, blur: h, focusout: h, pagehide: h };        evt = evt || window.event;        if (evt.type in evtMap) {            document.body.className = evtMap[evt.type];        } else {            document.body.className = this[hidden] ? 'hidden' : 'visible';        }    };    // Standards:    if (hidden in document) {        document.addEventListener('visibilitychange', onchange);    } else if ((hidden = 'mozHidden') in document) {        document.addEventListener('mozvisibilitychange', onchange);    } else if ((hidden = 'webkitHidden') in document) {        document.addEventListener('webkitvisibilitychange', onchange);    } else if ((hidden = 'msHidden') in document) {        document.addEventListener('msvisibilitychange', onchange);    } else if ('onfocusin' in document) {        // IE 9 and lower:        document.onfocusin = document.onfocusout = onchange;    } else {        // All others:        window.onpageshow = window.onpagehide = window.onfocus = window.onblur = onchange;    }    // set the initial state (but only if browser supports the Page Visibility API)    if (document[hidden] !== undefined) {        onchange({type: document[hidden] ? 'blur' : 'focus'});    }})();

  

大神的地址:https://www.cnblogs.com/zichi/p/5158745.html

转载于:https://www.cnblogs.com/webSong/p/10077318.html

你可能感兴趣的文章
如何辨别android开发包的安全性
查看>>
Eclipse Java @Override 报错
查看>>
知道双字节码, 如何获取汉字 - 回复 "pinezhou" 的问题
查看>>
linux中cacti和nagios整合
查看>>
Parallels Desktop12推出 新增Parallels Toolbox
查看>>
Python高效编程技巧
查看>>
Kafka服务端脚本详解(1)一topics
查看>>
js中var self=this的解释
查看>>
面试题
查看>>
Facebook 接入之获取各个配置参数
查看>>
linux的日志服务器关于屏蔽一些关键字的方法
查看>>
事情的两面性
查看>>
只要会营销,shi都能卖出去?
查看>>
sed单行处理命令奇偶行输出
查看>>
走向DBA[MSSQL篇] 从SQL语句的角度 提高数据库的访问性能
查看>>
VC++深入详解学习笔记1
查看>>
安装配置discuz
查看>>
CentOS7 64位小型操作系统的安装
查看>>
线程互互斥锁
查看>>
KVM虚拟机&openVSwitch杂记(1)
查看>>