全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

利用js判断手机是否安装某个app的多种方案

前言

大家在日常开发的时候,经常会遇到这样的需求,通过检测手机,如果本地安装了app那么直接打开,否则苹果要跳转到app-store,安卓则要跳到对应的市场,下面来给大家介绍几种解决的方案。

解决方案 一

//html代码中 的 a 标签,以微信为例,默认的是调用weixin scheme,去打开本机的微信,如果没有则跳转到相应连接
    <a href="weixin://" rel="external nofollow" class="btn-download">立即打开</a>
  
    // 为btn-download 绑定事件,如果在500ms内,没有解析到协议,那么就会跳转到下载链接 
     var appstore, ua = navigator.userAgent;
  if(ua.match(/Android/i)){ 
   appstore = 'market://search?q=com.singtel.travelbuddy.android';
  }
  if(ua.match(/iphone|ipod|ipad/)){
   appstore = "https://itunes.apple.com/cn/app/wei-xin/id414478124?mt=8&ign-mpt=uo%3D4"; 
  }
  function applink(fail){ 
   return function(){ 
    var clickedAt = +new Date; 
    // During tests on 3g/3gs this timeout fires immediately if less than 500ms. 
    setTimeout(function(){ 
      // To avoid failing on return to MobileSafari, ensure freshness! 
      if (+new Date - clickedAt < 2000){ 
       window.location = fail; 
      } 
    }, 500);  
   }; 
  } 
  $('.icon-download, .btn-download')[0].onclick = applink(appstore);

解决方案二

通过在页面中生成一个隐藏的iframe,iframe的src指向 app 协议,例如 weixin scheme,并监听onerror事件,意思是如果无法解析协议,就会触发onerror事件,但是我尝试了一下,未果。代码如下,可参考一下。

// 页面中有div#iframe-box 用来插入生成的iframe,还是以微信为例
     var ifm = document.createElement('iframe'), isInstalled;
  ifm.style.display = 'none';
  ifm.src = 'wixin://';
  ifm.onload = function(e){
   var e = e || window.event;
   e.preventDefault();
  }
  ifm.onerror = function(){
   //isInstalled = false;
   alert(1);
  }
  document.getElementById('iframe-box').appendChild(ifm);

    // 但这时的问题是,iframe的src成功解析到了协议,则会直接跳转,但是解析不到的话,也不会触发error事件,这个还要继续研究
    // 可以把上面的代码,放到函数中,然后作为某个按钮的响应函数。

解决方案三

对于ios手机,会有如下写法

<meta name="apple-itunes-app" content="app-id=414478124" /> 

将上面代码放到head中,根据name也会知道意思,app-id是微信的app-id,用ios手机看会看到提示,andriod比可以,结果自行实验。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。


# js检测app是否安装  # js判断手机安装app  # 检测手机是否安装app  # JSP中实现判断客户端手机类型并跳转到app下载页面  # 用于deeplink的js方法(判断手机是否安装app)  # js判断移动端是否安装某款app的多种方法  # JS监听微信、支付宝等移动app及浏览器的返回、后退、上一页按钮的事件方法  # JS实现点击网页判断是否安装app并打开否则跳转app store  # js实现微信/QQ直接跳转到支付宝APP打开口令领红包功能  # JS触摸屏网页版仿app弹窗型滚动列表选择器/日期选择器  # JS拉起或下载app的实现代码  # js判断手机是否安装并打开app  # 未安装则安装app【兼容Android、ios  # 亲测可用】  # 就会  # 跳转到  # 为例  # 的是  # 会有  # 也会  # 中有  # 如果没有  # 问题是  # 几种  # 跳转  # 这篇文章  # 本机  # 跳到  # 下载链接  # 则会  # 经常会  # 绑定  # 则要  # 来给大家 


相关文章: 如何快速建站并高效导出源代码?  建站之星北京办公室:智能建站系统与小程序生成方案解析  定制建站策划方案_专业建站与网站建设方案一站式指南  如何在橙子建站中快速调整背景颜色?  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  常州企业网站制作公司,全国继续教育网怎么登录?  常州自助建站:操作简便模板丰富,企业个人快速搭建网站  安云自助建站系统如何快速提升SEO排名?  免费网站制作模板下载,除了易企秀之外还有什么H5平台可以制作H5长页面,最好是免费的?  网站制作软件免费下载安装,有哪些免费下载的软件网站?  制作网站的软件免费下载,免费制作app哪个平台好?  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  购物网站制作公司有哪些,哪个购物网站比较好?  郑州企业网站制作公司,郑州招聘网站有哪些?  如何在万网自助建站平台快速创建网站?  定制建站价位费用解析与套餐推荐全攻略  香港服务器租用每月最低只需15元?  香港服务器部署网站为何提示未备案?  如何零基础开发自助建站系统?完整教程解析  如何挑选最适合建站的高性能VPS主机?  如何基于云服务器快速搭建个人网站?  制作证书网站有哪些,全国城建培训中心证书查询官网?  如何选择适合PHP云建站的开源框架?  为什么Go需要go mod文件_Go go mod文件作用说明  网站制作培训多少钱一个月,网站优化seo培训课程有哪些?  保定网站制作方案定制,保定招聘的渠道有哪些?找工作的人一般都去哪里看招聘信息?  Android自定义listview布局实现上拉加载下拉刷新功能  官网建站费用明细查询_企业建站套餐价格及收费标准指南  盘锦网站制作公司,盘锦大洼有多少5G网站?  小型网站制作HTML,*游戏网站怎么搭建?  宝塔Windows建站如何避免显示默认IIS页面?  公司网站建设制作费用,想建设一个属于自己的企业网站,该如何去做?  学校为何禁止电信移动建设网站?  如何通过虚拟主机快速完成网站搭建?  网站网页制作专业公司,怎样制作自己的网页?  装修招标网站设计制作流程,装修招标流程?  网站制作多少钱一个,建一个论坛网站大约需要多少钱?  电商网站制作公司有哪些,1688网是什么意思?  *服务器网站为何频现安全漏洞?  ,想在网上投简历,哪几个网站比较好?  如何高效配置香港服务器实现快速建站?  网站制作公司排行榜,抖音怎样做个人官方网站  中山网站制作网页,中山新生登记系统登记流程?  广州商城建站系统开发成本与周期如何控制?  如何在阿里云部署织梦网站?  建站org新手必看:2024最新搭建流程与模板选择技巧  南平网站制作公司,2025年南平市事业单位报名时间?  网站制作软件有哪些,制图软件有哪些?  太平洋网站制作公司,网络用语太平洋是什么意思?  导航网站建站方案与优化指南:一站式高效搭建技巧解析 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。