vue中h5端打开app(判断是安卓还是苹果)


Posted in Vue.js onFebruary 26, 2021

1.开发环境 vue+vant

2.电脑系统 windows10专业版

3.在h5端开发的过程中,我们经常需要点击一个按钮来判断用户使用安装了app(首先判断是安卓还是苹果,然后判断是否安装了app,如果没有安装则跳转到下载页面,如果安装了则打开)。

4.废话不多说,直接上代码:

<div class="xiding-r" @click="openapp">
 Open APP
</div>

5.在methods中添加如下代码:

openapp() {
  var u = navigator.userAgent,
   app = navigator.appVersion;
  var isAndroid = u.indexOf("Android") > -1 || u.indexOf("Linux") > -1;
  var isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);
  if (isAndroid) {
   // alert("我是安卓");
   this.android();
  }
  if (isIOS) {
   // alert("我是苹果");
  }
  },
android() {
  var _clickTime = new Date().getTime();
  window.location.href = 'zhihu://'; /***打开app的协议,有安卓同事提供***/

  //启动间隔20ms运行的定时器,并检测累计消耗时间是否超过3000ms,超过则结束
  var _count = 0, intHandle;
  intHandle = setInterval(function () {
   _count++;
   var elsTime = new Date().getTime() - _clickTime;
   if (_count >= 100 || elsTime > 5000) {
   console.log(_count)
   console.log(elsTime)
   clearInterval(intHandle);
   //检查app是否打开
   if (document.hidden || document.webkitHidden) {
    // 打开了
    window.location.href = "zhihu://";
    // alert('打开了');
    window.close();
    // return;
   } else {
    // 没打开
    // alert('没打开');
    window.location.href = "";//下载链接
   }
   }
  }, 20);
  },

5.注意:在这个案例中我是用的知乎的例子:

vue中h5端打开app(判断是安卓还是苹果)

6.注意

使用Custom URL Scheme的好处就是,你可以在其他程序中通过这个url打开应用程序。如果A应用程序注册了一个 url scheme:myApp,那么就在mobile浏览器中就可以通过<a href ="myApp://">打开你的应用程序。请注意,IOS中如果系统注册了 url schemen且安装了那个应用程序,通过上面那种网页的方式就可以打开应用程序(亲测有效)。注意:IOS中不能注册为http://xxx这样的url scheme,而android是可以的。

到此这篇关于vue中h5端打开app(判断是安卓还是苹果)的文章就介绍到这了,更多相关vue中h5端打开app 内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Vue.js 相关文章推荐
全面解析Vue中的$nextTick
Dec 24 Vue.js
vue.js watch经常失效的场景与解决方案
Jan 07 Vue.js
如何在vue 中使用柱状图 并自修改配置
Jan 21 Vue.js
vue实现轮播图帧率播放
Jan 26 Vue.js
vue 根据选择的月份动态展示日期对应的星期几
Feb 06 Vue.js
Vue实现tab导航栏并支持左右滑动功能
Jun 28 Vue.js
vue项目中的支付功能实现(微信支付和支付宝支付)
Feb 18 Vue.js
Vue的列表之渲染,排序,过滤详解
Feb 24 Vue.js
Vue全局事件总线你了解吗
Feb 24 Vue.js
Vue如何清空对象
Mar 03 Vue.js
vue实现省市区联动 element-china-area-data插件
Apr 22 Vue.js
Vue基本指令实例图文讲解
Feb 25 #Vue.js
vue常用高阶函数及综合实例
Feb 25 #Vue.js
详解vite+ts快速搭建vue3项目以及介绍相关特性
Feb 25 #Vue.js
基于vue-simple-uploader封装文件分片上传、秒传及断点续传的全局上传插件功能
Feb 23 #Vue.js
用vite搭建vue3应用的实现方法
Feb 22 #Vue.js
详解Vue3.0 + TypeScript + Vite初体验
Feb 22 #Vue.js
vue-cli 3如何使用vue-bootstrap-datetimepicker日期插件
Feb 20 #Vue.js
You might like
MySQL数据库转移,access,sql server 转 MySQL 的图文教程
2007/09/02 PHP
在PHP中使用redis
2013/11/04 PHP
PHP中的命名空间相关概念浅析
2015/01/22 PHP
PHP如何使用JWT做Api接口身份认证的实现
2020/02/03 PHP
html数组字符串拼接的最快方法
2009/09/16 Javascript
jquery连缀语法如何实现
2012/11/29 Javascript
js分页工具实例
2015/01/28 Javascript
php+ajax+jquery实现点击加载更多内容
2015/05/03 Javascript
在JavaScript中call()与apply()区别
2016/01/22 Javascript
Angularjs 实现动态添加控件功能
2017/05/25 Javascript
通过构造函数实例化对象的方法
2017/06/28 Javascript
微信小程序实现上传图片裁剪图片过程解析
2019/08/22 Javascript
vue input标签通用指令校验的实现
2019/11/05 Javascript
node koa2 ssr项目搭建的方法步骤
2020/12/11 Javascript
Python脚本实现网卡流量监控
2015/02/14 Python
Python实现字典排序、按照list中字典的某个key排序的方法示例
2018/12/18 Python
python gensim使用word2vec词向量处理中文语料的方法
2019/07/05 Python
基于python实现雪花算法过程详解
2019/11/16 Python
Pandas数据离散化原理及实例解析
2019/11/16 Python
Python 识别12306图片验证码物品的实现示例
2020/01/20 Python
Python2及Python3如何实现兼容切换
2020/09/01 Python
css3+jq创作含苞待放的荷花
2014/02/20 HTML / CSS
CSS3下的渐变文字效果实现示例
2018/03/02 HTML / CSS
HTML+CSS3+JS 实现的下拉菜单
2020/11/25 HTML / CSS
伦敦平价潮流珠宝首饰品牌:Astrid & Miyu
2016/10/10 全球购物
SQL Server的固定数据库角色都有哪些?对应的服务器权限有哪些?
2013/05/18 面试题
餐厅楼面主管岗位职责范本
2014/02/16 职场文书
《窗前的气球》教学反思
2014/04/07 职场文书
关于中国梦的演讲稿
2014/04/23 职场文书
大学生精神文明先进个人事迹材料
2014/05/02 职场文书
共产党员岗位承诺书
2014/05/29 职场文书
2016年学校招生广告语
2016/01/28 职场文书
医学会议开幕词
2016/03/03 职场文书
PHP使用QR Code生成二维码实例
2021/07/07 PHP
Opencv实现二维直方图的计算及绘制
2021/07/21 Python
python实现学生信息管理系统(面向对象)
2022/06/05 Python