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 相关文章推荐
vue3.0+vue-router+element-plus初实践
Dec 02 Vue.js
Vue $attrs &amp; inheritAttr实现button禁用效果案例
Dec 07 Vue.js
梳理一下vue中的生命周期
Dec 30 Vue.js
vue-quill-editor插入图片路径太长问题解决方法
Jan 08 Vue.js
Vuex实现简单购物车
Jan 10 Vue.js
vue-video-player 断点续播的实现
Feb 01 Vue.js
如何在 Vue 中使用 JSX
Feb 14 Vue.js
Vue-router编程式导航的两种实现代码
Mar 04 Vue.js
vue+django实现下载文件的示例
Mar 24 Vue.js
解读Vue组件注册方式
May 15 Vue.js
vue-router中hash模式与history模式的区别
Jun 23 Vue.js
vue组件冲突之引用另一个组件出现组件不显示的问题
Apr 13 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
adodb与adodb_lite之比较
2006/12/31 PHP
如何从一个php文件向另一个地址post数据,不用表单和隐藏的变量的
2007/03/06 PHP
PHP原理之异常机制深入分析
2010/08/08 PHP
php+mysql实现用户注册登陆的方法
2015/01/03 PHP
使用PHPExcel操作Excel用法实例分析
2015/03/26 PHP
Yii数据库缓存实例分析
2016/03/29 PHP
PHP错误和异常处理功能模块示例
2016/11/12 PHP
PHP 范围解析操作符(::)用法分析【访问静态成员和类常量】
2020/04/14 PHP
5秒后跳转效果(setInterval/SetTimeOut)
2013/05/03 Javascript
JavaScript移除数组元素减少长度的方法
2013/09/05 Javascript
js获取url中&quot;?&quot;后面的字串方法
2014/05/15 Javascript
纯jquery实现模仿淘宝购物车结算
2015/08/20 Javascript
jquery实现很酷的网页顶部图标下拉菜单效果
2015/08/22 Javascript
JS实现的简单鼠标跟随DiV层效果完整实例
2015/10/31 Javascript
AngularJS ng-style中使用filter
2016/09/21 Javascript
easyui combobox开启搜索自动完成功能的实例代码
2016/11/08 Javascript
Vue 基于 vuedraggable 实现选中、拖拽、排序效果
2020/05/18 Javascript
python简单猜数游戏实例
2015/07/09 Python
Python使用回溯法子集树模板解决爬楼梯问题示例
2017/09/08 Python
python得到一个excel的全部sheet标签值方法
2018/12/10 Python
pyqt远程批量执行Linux命令程序的方法
2019/02/14 Python
pandas中DataFrame修改index、columns名的方法示例
2019/08/02 Python
基于Python测试程序是否有错误
2020/05/16 Python
解析Tensorflow之MNIST的使用
2020/06/30 Python
Python实现扫码工具的示例代码
2020/10/09 Python
html5 学习简单的拾色器
2010/09/03 HTML / CSS
澳大利亚第一的设计师礼服租赁网站:GlamCorner
2017/08/13 全球购物
Marc O’Polo俄罗斯官方在线商店:德国高端时尚品牌
2019/12/26 全球购物
毕业生自我鉴定
2013/12/04 职场文书
无工作经验者个人求职信范文
2013/12/22 职场文书
周年庆典邀请函范文
2014/01/24 职场文书
担保书范本
2015/01/20 职场文书
婚宴祝酒词大全
2015/08/10 职场文书
公司岗位说明书
2015/10/08 职场文书
2015年高三毕业班班主任工作总结
2015/10/22 职场文书
MYSQL如何查看进程和kill进程
2022/03/13 MySQL