调起APP功能的实现
用户手机里面有APP的时候直接调起app,如果没有安装app就跳转到app的下载页面下载APP。
实现步骤:
1 首先判断手机是安卓还是ios手机
getBrower(){let browser={versions:function(){var u = navigator.userAgent, app = navigator.appVersion;return {trident: u.indexOf('Trident') > -1, //IE内核presto: u.indexOf('Presto') > -1, //opera内核webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1,//火狐内核mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或者uc浏览器iPhone: u.indexOf('iPhone') > -1 , //是否为iPhone或者QQHD浏览器iPad: u.indexOf('iPad') > -1, //是否iPadwebApp: u.indexOf('Safari') == -1, //是否web应该程序,没有头部与底部weixin: u.indexOf('MicroMessenger') > -1, //是否微信 (2015-01-22新增)qq: u.match(/\sQQ/i) == " qq" //是否QQ};}(),language:(navigator.browserLanguage || navigator.language).toLowerCase()}return browser.versions},
2 调起APP的实现原理是iframe标签的src设置为APP的shemaUrl地址调起APP,有的手机支持直接window.location.href=shemaUrl来调起app
load(androidShema,iosShema,appUrl,appUrlIos){let timeout=2300// let timer=nulllet brower=this.getBrower()// alert(brower)// // let u=navigator.userAgentif(brower.weixin||brower.qq){this.$vux.alert.show({content:'请在浏览器中打开'})return}if(brower.android){// alert(androidShema)let startTime=Date.now();let ifr = document.createElement('iframe');ifr.src = androidShema;//这里是唤起App的协议,有Android可爱的同事提供ifr.style.display = 'none';document.body.appendChild(ifr);this.timer = setTimeout(function() {var endTime = Date.now();if(!startTime || endTime - startTime < timeout + 500) {document.body.removeChild(ifr);// window.open("唤起失败跳转的链接");window.location.href = appUrl}}, timeout);}else{//ios使用这个打开window.location.href = iosShema; //唤起协议,由iOS小哥哥提供//document.body.appendChild(ifr);this.timer = setTimeout(function() {window.location.href = appUrlIos;}, timeout);}},
调起APP功能的实现相关推荐
- Android中点击链接调起App
最近工作中的一个需求是点击短信链接则调起App然后完成相关功能逻辑,查阅相关文章完成需求,以此文章来记录Android中点击链接吊起App的实现. 原理 通过使用自定义Scheme方式,修改Schem ...
- IOS调起app的终极方法:Universal Links
一.App"围墙" 各个移动App就像大海中的一座座岛屿,虽然都生活在一个海洋中(Android系统或iOS),但是他们之间通常是老死不相往来.举例来说,在微信应用中,用户基本上就 ...
- 一文理清H5调起App那些事
以安卓为例,实现h5调起app步骤: 在安卓AndroidManifest.xml中,启动Activity下添加属性: <intent-filter><action android: ...
- 功能引导 android,Flutter实现App功能引导页
App功能介绍页,主要是由介绍app功能的几张图片和当前页指示符组成,如下效果 我们来一步一步实现上面的界面,左右滑动切换显示功能页,这个可以通过PageView来实现,底部的指示符半透明覆盖在Pag ...
- PHP爱讯云商城源码v0.7.0-新增app功能
介绍: PHP爱讯云商城源码v0.7.0,新增app功能+一套app模板. 优化老模板,修复添加多个商品只显示一个的bug. 源码安装方法: 把源码上传到网站目录解压绑定域名,浏览器访问 http: ...
- 从0到1搭建移动App功能自动化测试平台(2):操作iOS应用的控件
转载:http://debugtalk.com/post/build-app-automated-test-platform-from-0-to-1-Appium-interrogate-iOS-UI ...
- android仿百度新闻,【Android】最新主流新闻app功能实现。仿网易,搜狐等新闻客户端实现展示...
最新主流新闻app功能实现.仿网易,搜狐等新闻客户端 (原创作品,转载请说明出处)先给大家看一下效果图: 这个项目总体来说虽然不是特别难,但是确实非常常用的功能.是业余时间自己写的一个小项目. 以前我 ...
- 关于扫描二维码下载app功能实现方法
关于扫描二维码下载app功能实现方法 功能实现思路: Androidapk的下载本质上就是文件的下载,所以我们只需要在后台提供一个下载的方法,就能是实现apk的下载. 在实现后台代码以后,我们生成 ...
- 宠物服务App功能简介
随着时代的变革与发展人们的生活变得越来越好,也变的越来越多样化.物质生活的满足后,人们开始找寻其他的一些兴趣爱好,让自己的生活变的更加多彩,有人种花.有人养鸟.有人养猫.有人养狗等等.不管是养什么都是 ...
最新文章
- 升级将至,BCH各开发组已推出兼容新版本
- vs2005格式化代码
- 【最简解法】1048 Find Coins (25 分)_18行代码AC
- [css] 举例说明你对相邻兄弟选择器的理解
- Java开发神器Lombok使用详解
- UVALive - 6442
- 解决sns加载数据load_dataset()报错问题
- 计算机的硬盘有几个分区,电脑硬盘分几个区合适?电脑硬盘分区小窍门
- Growing Mushrooms
- U盘无法格式化的原因及解决方法
- 3dgis java_BIM与三维GIS结合
- Java实现 蓝桥杯算法提高金明的预算方案
- python-DRF_限流Throttling_自定义频率类_内置频率类使用_过滤排序功能
- 为什么我们的代码难以维护(草稿)
- 【图像去噪】基于自适应小波阙值算法实现图像去噪附matlab代码
- linux驱动主从设备号,在 Linux 设备管理中,除了设备类型外,内核还需要一对被称为主从设备号的参数,才能唯一标识一个设备。( )相同的设备使用相同的驱动程序...
- PHP的环境安装基本的配置
- java之 ------ 枚举类型
- 在LINUX如何用键盘复制,粘贴
- 复星金服微服务_复星金服打造“爱妈妈”互助共享平台,解决职场妈妈的后顾之忧...
热门文章
- 导数的四则运算法则_高中生如何学习导数
- 大数据实操篇 No.17-Flink State介绍和使用(Datastream API)
- java 纳秒 秒_如何使用TimeUnit枚举将纳秒转换为秒?
- 使用canvas实现对图片的翻转
- 半年营收200亿,翻台率却降到3次/天,老板娘出逃海底捞怎么了?
- web常用模块的测试用例
- 第二十二篇玩转【斗鱼直播APP】系列之弹出房间界面
- android 8.0 耳机线控,最新资讯 | 安卓8.0这大变化没法忍!要弃耳机孔
- fiddler移动端抓取
- PS首战——拼贴海报