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

2021-12-24  本文已影响0人  记录学习生活
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);
            }
        }

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

原理:500ms内,本机有应用程序能解析这个协议并打开程序,调用该应用;如果本机没有应用程序能解析>该协议或者500ms内没有打开这个程序,则执行setTimeout里面的function,就是跳转到你想跳转的页面。

来源

上一篇下一篇

猜你喜欢

热点阅读