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设计一个日历表
Dec 03 Vue.js
Vue如何跨组件传递Slot的实现
Dec 14 Vue.js
Vue实现手机号、验证码登录(60s禁用倒计时)
Dec 19 Vue.js
学习 Vue.js 遇到的那些坑
Feb 02 Vue.js
vue首次渲染全过程
Apr 21 Vue.js
vue2实现provide inject传递响应式
May 21 Vue.js
解决vue $http的get和post请求跨域问题
Jun 07 Vue.js
Vue自定义铃声提示音组件的实现
Jan 22 Vue.js
Vue的过滤器你真了解吗
Feb 24 Vue.js
一起来看看Vue的核心原理剖析
Mar 24 Vue.js
解决vue自定义组件@click点击失效问题
Apr 30 Vue.js
vue递归实现树形组件
Jul 15 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
php安全开发 添加随机字符串验证,防止伪造跨站请求
2013/02/14 PHP
谈谈关于php的优点与缺点
2013/04/11 PHP
ThinkPHP之用户注册登录留言完整实例
2014/07/22 PHP
php计算数组相同值出现次数的代码(array_count_values)
2015/01/20 PHP
thinkPHP多表查询及分页功能实现方法示例
2017/07/03 PHP
详解阿里云视频直播PHP-SDK接入教程
2020/07/09 PHP
JavaScript DOM学习第四章 getElementByTagNames
2010/02/19 Javascript
jQuery写的日历(包括日历的样式及功能)
2013/04/23 Javascript
jquery animate实现鼠标放上去显示离开隐藏效果
2013/07/21 Javascript
JavaScript表单通过正则表达式验证电话号码
2014/03/14 Javascript
Javascript仿新浪游戏频道鼠标悬停显示子菜单效果
2015/08/21 Javascript
Javascript基于对象三大特性(封装性、继承性、多态性)
2016/01/04 Javascript
浅析Ajax语法
2016/12/05 Javascript
JS实现密码框的显示密码和隐藏密码功能示例
2016/12/26 Javascript
jQuery与js实现颜色渐变的方法
2016/12/30 Javascript
jQuery轮播图实例详解
2018/08/15 jQuery
微信小程序动画组件使用解析,类似vue,且更强大
2019/08/01 Javascript
jQuery实时统计输入框字数及限制
2020/06/24 jQuery
vue结合el-upload实现腾讯云视频上传功能
2020/07/01 Javascript
vue 里面的 $forceUpdate() 强制实例重新渲染操作
2020/09/21 Javascript
Node.js 中如何收集和解析命令行参数
2021/01/08 Javascript
Python中函数及默认参数的定义与调用操作实例分析
2017/07/25 Python
Python中使用多进程来实现并行处理的方法小结
2017/08/09 Python
Linux CentOS7下安装python3 的方法
2018/01/21 Python
python实现简易学生信息管理系统
2020/04/05 Python
python pptx复制指定页的ppt教程
2020/02/14 Python
python能自学吗
2020/06/18 Python
俄罗斯电动工具和设备购物网站:Vseinstrumenti.ru
2020/11/12 全球购物
机电工程学生自荐信范文
2013/12/07 职场文书
关于礼仪的演讲稿
2014/01/04 职场文书
三分钟英语演讲稿
2014/04/24 职场文书
师德演讲稿范文
2014/05/06 职场文书
文秘应届生求职信
2014/07/05 职场文书
正风肃纪剖析材料范文
2014/10/10 职场文书
聘任书格式及范文
2015/09/21 职场文书
CocosCreator如何实现划过的位置显示纹理
2021/04/14 Javascript