在网页中下载app或打开app

之前遇到的问题是,Android手机在除微信外的浏览器能正常跳转或下载,在微信端判别不出来

实现的效果如下
  • ios通过App Store打开或者跳转
  • Android通过应用宝

    toApp=function (){//封装个跳转app的方法
        var device = navigator.userAgent.toLowerCase();
        var config = {
            //scheme:必须要有,与app里的配置scheme一致
            scheme_IOS: 'xxx://',
            scheme_Adr: 'xxx://',
            download_url:"http://xxxx",//app的下载链接
            timeout: 1000
        };

        function openApp() {
            var startTime = Date.now();
            var ifr = document.createElement('iframe');
            ifr.src = device.indexOf('os') > 0 ? config.scheme_IOS : config.scheme_Adr;
            ifr.style.display = 'none';
            document.body.appendChild(ifr);
            var time = setTimeout(function() {
                document.body.removeChild(ifr);
                var endTime = Date.now();
                if (!startTime || endTime - startTime < 1040) {
                    if (device.indexOf('os') > 0) {
                        window.location = config.download_url;
                    } else {
                        //在应用宝的下载链接,用下载链接在微信端调不起app,所以都用应用宝判断了
                        window.location = 'http://a.app.qq.com/o/simple.jsp?pkgname=com.xxxx'
                    }
                }
            }, 1000);

            window.onblur = function() {
                clearTimeout(time);//清楚定时器
            }
        }
        openApp();
};

猜你喜欢

转载自blog.csdn.net/luoyumeiluoyumei/article/details/80789367