前端常用技术点

js判断打开APP或者下载APP

2019-09-30  本文已影响0人  赵小空
    // 打开app或者下载
        openApp() {
            var config = {
                downIOS: 'https://xxx', // 商店地址
                downAD: 'https://xxx',  // 商店地址
                imgIOS: require('../../../assets/images/browerIOS.png'),  // IOS下引导图
                imgAnd: require('../../../assets/images/browerAnd.png')  //  AD下引导图
            };
            var ua = navigator.userAgent.toLowerCase();

           let isIOS = /(iphone|ipad|ipod|ios)/i.test(ua); // 判断是否IOS
            let downSrc = isIOS ? config.downIOS : config.downAD; // app下载地址
            let guideSrc = isIOS ? config.imgIOS : config.imgAnd; // 引导图地址
            // 调用本地app地址
            let url1='https://xxx'; // 要打开内部页面的url
            let openL = `app://page?title=${decodeURIComponent('参数1')}&url=${encodeURI(url1)}`;
            // 是微信或者qq浏览器则引导
            let isGuide = (/MicroMessenger/ig).test(navigator.userAgent) || ua.includes(' qq');

            // 如果不是微信或者qq浏览器
            if (!isGuide) {
                this.guideImgS = false;
                window.location = openL;// 尝试打开app
                window.setTimeout(function() {
                    // 200ms后仍未打开则跳转到app下载页
                    if (!document.hidden) {
                        window.location = downSrc;
                    }
                }, 200);
            } else {
                this.guideSrc = guideSrc;
                this.guideImgS = true;
            }
        },
上一篇下一篇

猜你喜欢

热点阅读