JS判断手机端是否安装了某个客户端APP应用

本文介绍了一种在wap版中判断用户设备上是否安装了特定应用,并在安装时直接打开应用,未安装时跳转至wap页面的方法。通过利用navigator.userAgent匹配不同设备类型,并结合自定义URLScheme实现应用跳转。

最近在做项目的wap版,有个需求就是,先判断手机上是否有我们的APP应用,如果有的话打开应用,没有才跳转到wap页面。

wap简单来说就是运行在移动端浏览器上的网站。不管应用在什么地方,总之就是浏览器呗,可以通过JS来判断本地是否有某应用,实现方式实际就是将http协议转为本地软件协议。

还是直接贴代码吧。

如下:

 
<scriptlanguage="javascript">
  if(navigator.userAgent.match(/(iPhone|iPod|iPad);?/i)){
   var loadDateTime = new Date();
   window.setTimeout(function() {
     var timeOutDateTime = newDate();
     if (timeOutDateTime - loadDateTime< 5000) {
       window.location ="要跳转的页面URL";
     } else {
       window.close();
     }
   },
   25);
   window.location = " apps custom url schemes";
  } else if(navigator.userAgent.match(/android/i)){
   var state = null;
   try {
     state = window.open("apps custom url schemes ",'_blank');
    }catch(e) {}
    if(state) {
     window.close();
    }else {
     window.location ="要跳转的页面URL";
   }
 }
</script>




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

还可以传参数,如:

app://reaction/?uid=1
原理:500ms内,本机有应用程序能解析这个协议并打开程序,调用该应用;如果本机没有应用程序能解析该协议或者500ms内没有打开这个程序,则执行setTimeout里面的function,就是跳转到你想跳转的页面。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值