前言

大家在日常开发的时候,经常会遇到这样的需求,通过检测手机,如果本地安装了app那么直接打开,否则苹果要跳转到app-store,安卓则要跳到对应的市场,下面来给大家介绍几种解决的方案。
解决方案 一
//html代码中 的 a 标签,以微信为例,默认的是调用weixin scheme,去打开本机的微信,如果没有则跳转到相应连接
<a href="weixin://" rel="external nofollow" class="btn-download">立即打开</a>
// 为btn-download 绑定事件,如果在500ms内,没有解析到协议,那么就会跳转到下载链接
var appstore, ua = navigator.userAgent;
if(ua.match(/Android/i)){
appstore = 'market://search?q=com.singtel.travelbuddy.android';
}
if(ua.match(/iphone|ipod|ipad/)){
appstore = "https://itunes.apple.com/cn/app/wei-xin/id414478124?mt=8&ign-mpt=uo%3D4";
}
function applink(fail){
return function(){
var clickedAt = +new Date;
// During tests on 3g/3gs this timeout fires immediately if less than 500ms.
setTimeout(function(){
// To avoid failing on return to MobileSafari, ensure freshness!
if (+new Date - clickedAt < 2000){
window.location = fail;
}
}, 500);
};
}
$('.icon-download, .btn-download')[0].onclick = applink(appstore);
解决方案二
通过在页面中生成一个隐藏的iframe,iframe的src指向 app 协议,例如 weixin scheme,并监听onerror事件,意思是如果无法解析协议,就会触发onerror事件,但是我尝试了一下,未果。代码如下,可参考一下。
// 页面中有div#iframe-box 用来插入生成的iframe,还是以微信为例
var ifm = document.createElement('iframe'), isInstalled;
ifm.style.display = 'none';
ifm.src = 'wixin://';
ifm.onload = function(e){
var e = e || window.event;
e.preventDefault();
}
ifm.onerror = function(){
//isInstalled = false;
alert(1);
}
document.getElementById('iframe-box').appendChild(ifm);
// 但这时的问题是,iframe的src成功解析到了协议,则会直接跳转,但是解析不到的话,也不会触发error事件,这个还要继续研究
// 可以把上面的代码,放到函数中,然后作为某个按钮的响应函数。
解决方案三
对于ios手机,会有如下写法
<meta name="apple-itunes-app" content="app-id=414478124" />
将上面代码放到head中,根据name也会知道意思,app-id是微信的app-id,用ios手机看会看到提示,andriod比可以,结果自行实验。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。
# js检测app是否安装
# js判断手机安装app
# 检测手机是否安装app
# JSP中实现判断客户端手机类型并跳转到app下载页面
# 用于deeplink的js方法(判断手机是否安装app)
# js判断移动端是否安装某款app的多种方法
# JS监听微信、支付宝等移动app及浏览器的返回、后退、上一页按钮的事件方法
# JS实现点击网页判断是否安装app并打开否则跳转app store
# js实现微信/QQ直接跳转到支付宝APP打开口令领红包功能
# JS触摸屏网页版仿app弹窗型滚动列表选择器/日期选择器
# JS拉起或下载app的实现代码
# js判断手机是否安装并打开app
# 未安装则安装app【兼容Android、ios
# 亲测可用】
# 就会
# 跳转到
# 为例
# 的是
# 会有
# 也会
# 中有
# 如果没有
# 问题是
# 几种
# 跳转
# 这篇文章
# 本机
# 跳到
# 下载链接
# 则会
# 经常会
# 绑定
# 则要
# 来给大家
相关文章:
如何快速建站并高效导出源代码?
建站之星北京办公室:智能建站系统与小程序生成方案解析
定制建站策划方案_专业建站与网站建设方案一站式指南
如何在橙子建站中快速调整背景颜色?
在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?
常州企业网站制作公司,全国继续教育网怎么登录?
常州自助建站:操作简便模板丰富,企业个人快速搭建网站
安云自助建站系统如何快速提升SEO排名?
免费网站制作模板下载,除了易企秀之外还有什么H5平台可以制作H5长页面,最好是免费的?
网站制作软件免费下载安装,有哪些免费下载的软件网站?
制作网站的软件免费下载,免费制作app哪个平台好?
详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)
购物网站制作公司有哪些,哪个购物网站比较好?
郑州企业网站制作公司,郑州招聘网站有哪些?
如何在万网自助建站平台快速创建网站?
定制建站价位费用解析与套餐推荐全攻略
香港服务器租用每月最低只需15元?
香港服务器部署网站为何提示未备案?
如何零基础开发自助建站系统?完整教程解析
如何挑选最适合建站的高性能VPS主机?
如何基于云服务器快速搭建个人网站?
制作证书网站有哪些,全国城建培训中心证书查询官网?
如何选择适合PHP云建站的开源框架?
为什么Go需要go mod文件_Go go mod文件作用说明
网站制作培训多少钱一个月,网站优化seo培训课程有哪些?
保定网站制作方案定制,保定招聘的渠道有哪些?找工作的人一般都去哪里看招聘信息?
Android自定义listview布局实现上拉加载下拉刷新功能
官网建站费用明细查询_企业建站套餐价格及收费标准指南
盘锦网站制作公司,盘锦大洼有多少5G网站?
小型网站制作HTML,*游戏网站怎么搭建?
宝塔Windows建站如何避免显示默认IIS页面?
公司网站建设制作费用,想建设一个属于自己的企业网站,该如何去做?
学校为何禁止电信移动建设网站?
如何通过虚拟主机快速完成网站搭建?
网站网页制作专业公司,怎样制作自己的网页?
装修招标网站设计制作流程,装修招标流程?
网站制作多少钱一个,建一个论坛网站大约需要多少钱?
电商网站制作公司有哪些,1688网是什么意思?
*服务器网站为何频现安全漏洞?
,想在网上投简历,哪几个网站比较好?
如何高效配置香港服务器实现快速建站?
网站制作公司排行榜,抖音怎样做个人官方网站
中山网站制作网页,中山新生登记系统登记流程?
广州商城建站系统开发成本与周期如何控制?
如何在阿里云部署织梦网站?
建站org新手必看:2024最新搭建流程与模板选择技巧
南平网站制作公司,2025年南平市事业单位报名时间?
网站制作软件有哪些,制图软件有哪些?
太平洋网站制作公司,网络用语太平洋是什么意思?
导航网站建站方案与优化指南:一站式高效搭建技巧解析
*请认真填写需求信息,我们会在24小时内与您取得联系。