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 相关文章推荐
ESLint 是如何检查 .vue 文件的
Nov 30 Vue.js
vue element实现表格合并行数据
Nov 30 Vue.js
element-plus一个vue3.xUI框架(element-ui的3.x 版初体验)
Dec 02 Vue.js
vue 使用 sortable 实现 el-table 拖拽排序功能
Dec 26 Vue.js
vue仿携程轮播图效果(滑动轮播,下方高度自适应)
Feb 11 Vue.js
开发一个封装iframe的vue组件
Mar 29 Vue.js
使用这 6个Vue加载动画库来减少我们网站的跳出率
May 18 Vue.js
Axios代理配置及封装响应拦截处理方式
Apr 07 Vue.js
vue里使用create, mounted调用方法
Apr 26 Vue.js
VUE解决跨域问题Access to XMLHttpRequest at
May 06 Vue.js
Vue ECharts实现机舱座位选择展示功能
May 15 Vue.js
vue使用element-ui按需引入
May 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
SWFUpload与CI不能正确上传识别文件MIME类型解决方法分享
2011/04/18 PHP
PHP对表单提交特殊字符的过滤和处理方法汇总
2014/02/18 PHP
PHP中判断文件存在使用is_file还是file_exists?
2015/04/03 PHP
php实现用手机关闭计算机(电脑)的方法
2015/04/22 PHP
PHP数组编码gbk与utf8互相转换的两种方法
2016/09/01 PHP
php提交表单时保留多个空格及换行的文本样式的方法
2017/06/20 PHP
FireFox JavaScript全局Event对象
2009/06/14 Javascript
用js实现控件的隐藏及style.visibility的使用
2013/06/14 Javascript
js定时器怎么写?就是在特定时间执行某段程序
2013/10/11 Javascript
jquery实现鼠标拖动图片效果示例代码
2014/01/09 Javascript
js+html5获取用户地理位置信息并在Google地图上显示的方法
2015/06/05 Javascript
常用jQuery代码分享
2015/07/14 Javascript
浅析Node.js的Stream模块中的Readable对象
2015/07/29 Javascript
JS实现自动变化的导航菜单效果代码
2015/09/09 Javascript
AngularJS实现在ng-Options加上index的解决方法
2016/11/03 Javascript
JavaScript 计算笛卡尔积实例详解
2016/12/02 Javascript
node学习记录之搭建web服务器教程
2017/02/16 Javascript
Angular.js中控制器之间的传值详解
2017/04/24 Javascript
JavaScript阻止表单提交方法(附代码)
2017/08/15 Javascript
javascript实现图片轮播代码
2019/07/09 Javascript
详解小程序如何动态绑定点击的执行方法
2019/11/26 Javascript
js实现双色球效果
2020/08/02 Javascript
[51:36]Optic vs Newbee 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
Python中列表的一些基本操作知识汇总
2015/05/20 Python
python opencv之SIFT算法示例
2018/02/24 Python
python批量实现Word文件转换为PDF文件
2018/03/15 Python
python中时间转换datetime和pd.to_datetime详析
2019/08/11 Python
keras在构建LSTM模型时对变长序列的处理操作
2020/06/29 Python
Larsson & Jennings官网:现代瑞士钟表匠
2018/03/20 全球购物
英国高街奥特莱斯:Highstreet Outlet
2019/11/21 全球购物
自荐信模版
2013/10/24 职场文书
个人委托书范本
2014/04/02 职场文书
酒店节能降耗方案
2014/05/08 职场文书
义诊活动总结
2015/02/04 职场文书
2016银行求职自荐信
2016/01/28 职场文书
2016年助残日旅游活动总结
2016/04/01 职场文书