美文网首页
移动端H5检测设备是否安装了某个APP

移动端H5检测设备是否安装了某个APP

作者: 你家卢哥哥 | 来源:发表于2018-12-02 16:45 被阅读0次

    试了一下网上的主要的几种方法,发现都不起作用,比如通过iFrame来判断的,在真机尝试过,并没有效果。

    后面在某位兄弟博客上看到一种方法,通过判断浏览器窗口是否失去焦点来判断有没有安装APP,如果有安装的话,会调起APP,窗口会失去焦点。如果没有安装APP的话,焦点还在该窗口上,然后设定一个时间,超时即打开下载页。

    代码如下:

    
    function checkOutApp() {
    
           var isBlur = false;
    
            // 通过URL scheme来调起APP
    
            location.href = 'APP的URL scheme';
    
            setTimeout(function() {
    
                if (!isBlur) {
    
                    location.href = 'APP的下载链接';
    
                }
    
            }, 1000);
    
            // window 每次失去焦點
    
            window.onblur = function() {
    
                console.log('失去焦點');
    
                isBlur = true;
    
            };
    
            var hiddenProperty = 'hidden' in document ? 'hidden' :
    
                'webkitHidden' in document ? 'webkitHidden' :
    
                'mozHidden' in document ? 'mozHidden' :
    
                null;
    
            var visibilityChangeEvent = hiddenProperty.replace(/hidden/i, 'visibilitychange');
    
            var onVisibilityChange = function() {
    
                if (document[hiddenProperty]) {
    
                    console.log('失去焦點');
    
                    isBlur = true;
    
                }
    
            }
    
            document.addEventListener(visibilityChangeEvent, onVisibilityChange);
    
        }
    
    

    相关文章

      网友评论

          本文标题:移动端H5检测设备是否安装了某个APP

          本文链接:https://www.haomeiwen.com/subject/txojcqtx.html