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 02 Vue.js
详解如何在vue+element-ui的项目中封装dialog组件
Dec 11 Vue.js
详解Vue2的diff算法
Jan 06 Vue.js
vue element el-transfer增加拖拽功能
Jan 15 Vue.js
手动实现vue2.0的双向数据绑定原理详解
Feb 06 Vue.js
Vue包大小优化的实现(从1.72M到94K)
Feb 18 Vue.js
Vue中避免滥用this去读取data中数据
Mar 02 Vue.js
vue3.0封装轮播图组件的步骤
Mar 04 Vue.js
使用Vue.js和MJML创建响应式电子邮件
Mar 23 Vue.js
vue backtop组件的实现完整代码
Apr 07 Vue.js
vue实现Toast组件轻提示
Apr 10 Vue.js
vue特效之翻牌动画
Apr 20 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
DC这些乐高系列动画电影你看过几部?
2020/04/09 欧美动漫
php数组合并与拆分实例分析
2015/06/12 PHP
Laravel 实现在Blade模版中使用全局变量代替路径的例子
2019/10/22 PHP
jquery UI 1.72 之datepicker
2009/12/29 Javascript
让元素在网页中可拖动示例代码
2013/08/13 Javascript
js仿百度贴吧验证码特效实例代码
2014/01/16 Javascript
JavaScript实现向右伸出的多级网页菜单效果
2015/08/25 Javascript
javascript的正则匹配方法学习
2016/02/24 Javascript
ashx文件获取$.ajax()方法发送的数据
2016/05/26 Javascript
原生JS实现图片轮播与淡入效果的简单实例
2016/08/21 Javascript
ES6记录异步函数的执行时间详解
2016/08/31 Javascript
一道面试题引发的对javascript类型转换的思考
2017/03/06 Javascript
JavaScript中的遍历详解(多种遍历)
2017/04/07 Javascript
angular.js + require.js构建模块化单页面应用的方法步骤
2017/07/19 Javascript
详解Angular cli配置过程记录
2019/11/07 Javascript
Python中使用ElementTree解析XML示例
2015/06/02 Python
Python排序搜索基本算法之堆排序实例详解
2017/12/08 Python
Python语言实现百度语音识别API的使用实例
2017/12/13 Python
python之matplotlib学习绘制动态更新图实例代码
2018/01/23 Python
python学习之hook钩子的原理和使用
2018/10/25 Python
python绘制已知点的坐标的直线实例
2019/07/04 Python
Python装饰器使用你可能不知道的几种姿势
2019/10/25 Python
记一次pyinstaller打包pygame项目为exe的过程(带图片)
2020/03/02 Python
2020年10款优秀的Python第三方库,看看有你中意的吗?
2021/01/12 Python
python绘制汉诺塔
2021/03/01 Python
美国鲜花递送:UrbanStems
2021/01/04 全球购物
英国领先的独立酒精饮料零售商:DrinkSupermarket
2021/01/13 全球购物
培训心得体会
2013/12/29 职场文书
2015年大学生村官工作总结
2015/04/21 职场文书
旅游项目合作意向书
2015/05/08 职场文书
2016年国庆节新闻稿范文
2015/11/25 职场文书
nginx搭建图片服务器的过程详解(root和alias的区别)
2021/03/31 Servers
python读取mnist数据集方法案例详解
2021/09/04 Python
http通过StreamingHttpResponse完成连续的数据传输长链接方式
2022/02/12 Python
SQL Server中常用截取字符串函数介绍
2022/03/16 SQL Server
Windows Server 修改远程桌面端口的实现
2022/06/25 Servers