前端js 怎么判断用户是不是安装了某APP,安装了不直接打开这个应用而是进行其他操作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端js 怎么判断用户是不是安装了某APP,安装了不直接打开这个应用而是进行其他操作相关的知识,希望对你有一定的参考价值。

需求是扫码或打开分享链接就判断用户是否安装了app,如果安装了就显示“打开XXAPP”按钮,如果没有安装就显示“下载XXAPP”按钮,因为打开的连接带有邀请码的参数,需要把这个参数弄到剪贴板,所以打开或者下载要用到按钮点击事件,不是让用户直接就打开XXAPP,而是点击按钮去打开或者下载。
现在方法好像都是直接打开APP了,请问前端js有没有其他方法实现这个需求呢?

参考技术A 判断当前页面是否在app内部打开,单纯的web前端还不能解决
需要客户端对userAgent添加自己app相关的字段
(useragent设置android:http://www.jincon.com/archives/354/)
(useragent设置ios:http://www.jianshu.com/p/5f02451b8e87)
var userAgent = navigator.userAgent.toLowerCase(), //获取userAgent
isInapp = userAgent.indexOf("sunyuki")>=0;//查询是否有相关app的相关字段
希望对你有帮助!

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的方法,希望对大家的学习有所帮助。


以上是关于前端js 怎么判断用户是不是安装了某APP,安装了不直接打开这个应用而是进行其他操作的主要内容,如果未能解决你的问题,请参考以下文章

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

如何判断 手机上是不是安装 某个app 比如百度地图

用js怎么实现打开app的功能

网页代码 JS代码 检测手机或是Pad设备 是不是安装某软件 之后做相应的跳转

JS点击页面判断是否安装app并打开,否则跳转下载的方法

怎样判断是不是已经安装了