js判断手机是否安装了某一款app,有则打开,没有去下载

function openApp(){
            if(navigator.userAgent.match(/(iPhone|iPod|iPad);?/i)) {
                var loadDateTime = new Date();
                window.setTimeout(function() {
                    var timeOutDateTime = new Date();
                    if(timeOutDateTime - loadDateTime < 5000) {
                        window.location = "要跳转的下载app页面URL";
                    } else {
                        window.close();
                    }
                },25);
                window.location = " apps custom url schemes ";
            } else if(navigator.userAgent.match(/android/i)) {
                var loadDateTime = new Date();
                var state = window.open("apps custom url schemes ", '_blank');
                window.setTimeout(function() {
                    var timeOutDateTime = new Date();
                    if(timeOutDateTime - loadDateTime < 5000) {
                        window.location = "要跳转的下载app页面URL";
                    } else {
                        window.close();
                    }
                },25);
            }
        }

apps custom url schemes 是什么呢?


其实就是你与APP约定的一个协议URL,你的IOS同事或Android同事在写程序的时候会设置一个URL Scheme, 例如设置: URL Scheme :app 然后其他的程序就可以通过URLString = app:// 调用该应用。 还可以传参数,如:app://reaction/?uid=1

原理:500ms内,本机有应用程序能解析这个协议并打开程序,调用该应用;如果本机没有应用程序能解析该协议或者500ms内没有打开这个程序,则执行setTimeout里面的function,就是跳转到你想跳转的页面。 以上就是js判断移动端是否安装某款app的方法,希望对大家的学习有所帮助。

猜你喜欢

转载自www.cnblogs.com/wanan-01/p/9914531.html