zoukankan      html  css  js  c++  java
  • window下的窗口事件-js

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

    window.onblur= 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

  • 相关阅读:
    Javascript闭包的一些研究
    pytorchvision安装问题
    CUDA 基础
    语音识别入门推荐文献【转】
    【e2e】espnet框架安装问题集锦
    维特比算法与beam search
    kaldi识别问题集锦
    语音识别-重要开源数据
    git提交失败总结
    钟南山病后反思: 寿命长短, 不取决于衰老和疾病【转】
  • 原文地址:https://www.cnblogs.com/webSong/p/10077318.html
Copyright © 2011-2022 走看看