JS唤醒淘宝手机app打开某连接代码
导读:
有需求说要通过页面按钮唤醒app,或者手机上没有这款app跳转到商店,然后刚开始也是查了资料的,结果发现一头雾水,不过最后还是捣鼓出来了,当然也参考了前人分享的经验,下面我就将方法整理一下:
首先明确一下目的,是要在分享出去的html页面,通过js操作唤醒app或者打开商店,那么第一步就应该先判断当前的环境,这里我附上详细的判断方法,通用的
var browser = {
versions: function() {
var u = navigator.userAgent,
app = navigator.appVersion;
return {
trident: u.indexOf('Trident') > -1,
presto: u.indexOf('Presto') > -1,
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/),
android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1,
iPhone: u.indexOf('iPhone') > -1,
iPad: u.indexOf('iPad') > -1,
webApp: u.indexOf('Safari') == -1,
souyue: u.indexOf('souyue') > -1,
superapp: u.indexOf('superapp') > -1,
weixin:u.toLowerCase().indexOf('micromessenger') > -1,
Safari:u.indexOf('Safari') > -1
};
}(),
language: (navigator.browserLanguage || navigator.language).toLowerCase()
};
这里用到两个判断,一个ios一个安卓
if (browser.versions.ios) {
//你的代码
}else if (browser.versions.android){
//你的代码
}
那么接下来就应该判断当前手机上是否有安装某款应用,但是要知道js是无法判断手机上是否安装了哪款app的,所以有app打开app,没有app跳转到商店就可以这么做,js打开ios系统app的方法是这样的,拿淘宝为例:
taobao://
那么同理安卓的方法也是一样的,只不过打开app的协议不同,这个对应的打开app的协议是你们ios和安卓开发的小伙伴提供给你的,接下来的原理就是尝试发起打开app的请求,如果有提示是否在某款app中打开,那就可以直接打开了,如果打不开那么我们就要做另外一件事情了
if (browser.versions.ios) {
window.location.href = "taobao://";
setTimeout(function(){
window.location.href = "你的app在商店中的地址";
window.location.href = "你的app在商店中的地址"; //为什么要加两遍我下面会说到
},2000)
}else if (browser.versions.android){
window.location.href = "taobao://**";
setTimeout(function(){
window.location.href = "你的app的下载地址";
},2000)
}
当然为什么要加定时器,相信大家也都知道,因为打开app是需要时间的,而js代码瞬间就执行完毕了,当然这里还有几个坑,ios系统第一次window.location.href尝试打开app有时候会弹一下是否在某款app中打开之后马上跳到商店,为了解决这个问题我加了两遍window.location.href。
相关推荐
javascript,JS怎么对url进行编码转换
项目中url遇到传参数传数组对象解析失败问题,采用转码方式解决,但并不清楚实际原理,研究了一下JS转码解码。Javascript语言用于编码的函数,一共有三个。escape()encodeURI()e…
2022-10-29 19:12:36 | 分类:JS | 作者:myerob | 阅读:355 | 标签:escape encodeURI encodeURIComponent | 收藏
PHP json_decode()报错 json_last_error()判断错误类型及解决方法
PHP json_decode()报错 json_last_error()判断错误类型 解决背景:最近在用curl请求接口获取json数据串的时候,一直出现PHP中json_decode()解析字符串…
2022-10-29 21:45:57 | 分类:PHP | 作者:myerob | 阅读:700 | 标签:PHP json_decode() 报错 json_last_error() 判断错误类型 解决方法 | 收藏
- 阅读榜
- 1. U.FL座 IPEX/IPX接头1代,2代,3代,4代,5代区分对照图
- 2. 概率统计学中95%置信区间的系数1.96怎么得到的?
- 3. 什么情况下免征教育附加税,地方教育附加税?两附加费优惠政策
- 4. 个人所得税申报系统(扣缴端)如何删除已离职人员信息
- 5. NTC热敏电阻B值3950(温度系数对照表)
- 6. CSS中设置height:100%无效的原因分析和解决方法
- 7. LCEDA如何将两块不同的PCB拼到一块板上,PCB拼板教程
- 8. ASCII码一览表,ASCII码对照表
- 9. php页面最大执行时间 set_time_limit函数不起作用
- 10. 关于威尼斯目前账户显示注单未同步审核提不了现怎么解决?