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使用require.context实现动态注册路由
Dec 25 Vue.js
基于Vue3.0开发轻量级手机端弹框组件V3Popup的场景分析
Dec 30 Vue.js
vue 动态创建组件的两种方法
Dec 31 Vue.js
vue.js watch经常失效的场景与解决方案
Jan 07 Vue.js
Vue实现简单计算器
Jan 20 Vue.js
Vue看了就会的8个小技巧
Jan 21 Vue.js
如何在Vue项目中添加接口监听遮罩
Jan 25 Vue.js
vue常用高阶函数及综合实例
Feb 25 Vue.js
vue项目支付功能代码详解
Feb 18 Vue.js
Vue.js中v-for指令的用法介绍
Mar 13 Vue.js
在vue中import()语法不能传入变量的问题及解决
Apr 01 Vue.js
Vue2项目中对百度地图的封装使用详解
Jun 16 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调用数据库的存贮过程!
2006/10/09 PHP
php将session放入memcached的设置方法
2014/02/14 PHP
php版微信公众平台之微信网页登陆授权示例
2016/09/23 PHP
php正则修正符用法实例详解
2016/12/29 PHP
PHP设置Cookie的HTTPONLY属性方法
2017/02/09 PHP
PHP htmlspecialchars()函数用法与实例讲解
2019/03/08 PHP
Javascript下IE与Firefox下的差异兼容写法总结
2010/06/18 Javascript
基于JQuery 选择器使用说明介绍
2013/04/18 Javascript
jq选项卡鼠标延迟的插件实例
2013/05/13 Javascript
js实现3D图片逐张轮播幻灯片特效代码分享
2015/09/09 Javascript
JS DOM实现鼠标滑动图片效果
2020/09/17 Javascript
Angular Module声明和获取重载实例代码
2016/09/14 Javascript
jQuery实现滚动条滚动到子元素位置(方便定位)
2017/01/08 Javascript
jquery dataTable 获取某行数据
2017/05/05 jQuery
详解vue-router 2.0 常用基础知识点之router-link
2017/05/10 Javascript
详解如何在React组件“外”使用父组件的Props
2018/01/12 Javascript
解决vue页面DOM操作不生效的问题
2018/03/17 Javascript
Javascript实现异步编程的过程
2018/06/18 Javascript
在JS循环中使用async/await的方法
2018/10/12 Javascript
创建echart多个联动的示例代码
2018/11/23 Javascript
如何将百度地图包装成Vue的组件的方法步骤
2019/02/12 Javascript
详解Node.js使用token进行认证的简单示例
2020/05/25 Javascript
JQuery Ajax如何实现注册检测用户名
2020/09/25 jQuery
python使用reportlab实现图片转换成pdf的方法
2015/05/22 Python
对python中Librosa的mfcc步骤详解
2019/01/09 Python
Python多线程通信queue队列用法实例分析
2020/03/24 Python
基于CSS3实现的漂亮Menu菜单效果代码
2015/09/10 HTML / CSS
mui几种页面跳转方式对比总结概括
2017/08/18 HTML / CSS
波兰电子产品购物网站:Vobis
2019/05/26 全球购物
俄罗斯品牌服装在线商店:VIPAVENUE
2020/08/10 全球购物
Fanatics官网:运动服装、球衣、运动装备
2020/10/12 全球购物
第一批党的群众路线教育实践活动工作总结
2014/03/03 职场文书
欢迎领导标语
2014/06/27 职场文书
单身申明具结书
2015/02/26 职场文书
忠诚教育学习心得体会
2016/01/23 职场文书
MySQL删除和插入数据很慢的问题解决
2021/06/03 MySQL