2021-04-17
Vue,h5项目判断是否安装了某APP,h5页面是否在APP内部打开
1.h5项目判断是否安装了某app
$(function(){var APPCommon = {init: function(){this.openApp();},openApp: function(){var this_ = this;if(this_.isWeixin() || this_.isWeibo()){window.location = 'http://www.21golf.com/app/app_download.html';} else {if(navigator.userAgent.match(/(iPhone|iPod|iPad);?/i)) {var loadDateTime = new Date();window.setTimeout(function() {var timeOutDateTime = new Date();if (timeOutDateTime - loadDateTime < 5000) {window.location = 'http://www.21golf.com/app/app_download.html';} else {window.close();}},2000);window.location = 'golf21://playVideo?videoId=223';} else if (navigator.userAgent.match(/android/i)) {try {window.location = 'golf21://playVideo?videoId=223';setTimeout(function(){window.location = 'http://www.21golf.com/app/app_download.html';},500);} catch(e) {}}}},// UA鉴定isWeixin: function(){var ua = navigator.userAgent.toLowerCase();if (ua.match(/MicroMessenger/i) == "micromessenger") {return true;} else {return false;}},isWeibo: function(){var ua = navigator.userAgent.toLowerCase();if (ua.match(/WeiBo/i) == "weibo") {return true;} else {return false;}},isAndroid: function() {return navigator.userAgent.match(/Android/i) ? true : false;},isMobileQQ : function(){var ua = navigator.userAgent;return /(iPad|iPhone|iPod).*? (IPad)?QQ\/([\d\.]+)/.test(ua) || /\bV1_AND_SQI?_([\d\.]+)(.*? QQ\/([\d\.]+))?/.test(ua);},isIOS: function() {return navigator.userAgent.match(/iPhone|iPad|iPod/i) ? true : false;},}APPCommon.init();
});
2.判断H5页面是否在APP里面打开的
var userAgent = window.navigator.userAgent;
方式一:
userAgent.indexOf(‘你的app协议头’);
方式二:
userAgent.search(‘你的app协议头’);
方式三:
/你的app协议头/.search(userAgentr);
没有在app里面打开
"Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Mobile Safari/537.36"
唯一的区别是在最后面会有一个当前APP里面的协议头。使用APP的协议头来加以判断。例如下面获取的信息后面会有一个 xxxpay的标识
在app里面打开
"Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Mobile Safari/537.36;xxxpay"
2021-04-17相关推荐
- 荣耀机试题 2021.04 ~05
记录下最近面试的算法题 题目记得不是特别清楚了,大致描述. 一 2021.04.17荣耀机试 1 数组排序 题目描述:输入多个数字,按数字从小到大排序. 输入描述 多个整数,保证都在int范围内,用空 ...
- linux机试题,智一面之荣耀机试题 2021.04 ~05
记录下最近面试的算法题 题目记得不是特别清楚了,大致描述. 一 2021.04.17荣耀机试 1 数组排序 题目描述:输入多个数字,按数字从小到大排序. 输入描述 多个整数,保证都在int范围内,用空 ...
- 2021年 第12届 蓝桥杯 Java B组 省赛真题详解及小结【第1场省赛 2021.04.18】
蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[题目下载.2013年(第4届)~2020年(第11届)] CSDN 蓝桥杯 专栏 2013年 第04届 蓝桥杯 Java B组 省赛真题详解及小结 ...
- AI公开课:19.04.17杨松帆—好未来AI Lab负责人《为人工智能时代打造一个AI老师》课堂笔记以及个人感悟
AI公开课:19.04.17杨松帆-好未来AI Lab负责人<为人工智能时代打造一个AI老师>课堂笔记以及个人感悟 导读 杨松帆,现为好未来教育集团人工智能实验室负责人.曾任FaceThi ...
- 将Fri May 04 17:25:34 CST 2012形式的日期字符串转换成java.util.Date对象的方法
java.util.Date类的toString()方法默认生成"Fri May 04 17:25:34 CST 2012"形式的字符串,但从这样的字符串生成java.util.D ...
- [2021.1.17多校省选模拟4]T1(莫比乌斯反演/组合数学/枚举倍数)
[2021.1.17多校省选模拟4]T1 一般人都会想着去枚举直线的斜率,但是枚举斜率之后就会产生多条直线,并且这些直线的长度不一,难以快速求解,所以我们考虑换一种方法枚举. 枚举最远点对的横纵坐标之 ...
- Russ Cox:这不是Go项目的标准布局 | Gopher Daily (2021.04.28) ʕ◔ϖ◔ʔ
每日一谚:Profile before you decide something is performance critical. Go技术生态 Go web开发的当前状态 - https://tno ...
- Go webrtc项目pion创始人专访 | Gopher Daily (2021.04.07) ʕ◔ϖ◔ʔ
每日一谚:Go makes error handling as important as any other code Go技术生态 go webrtc项目pion的创始人专访 - https://w ...
- 2021.03.17 pokémon小游戏开发记录与周总结
2021.03.17 pokémon小游戏开发记录与周总结 此篇仅包含部分项目代码,只是个人的学习总结. 文章目录 2021.03.17 pokémon小游戏开发记录与周总结 前言 一.前期准备 二. ...
- 《安富莱嵌入式周报》第209期:2021.04.19--2021.04.25
往期周报汇总地址:http://www.armbbs.cn/forum.php?mod=forumdisplay&fid=12&filter=typeid&typeid=104 ...
最新文章
- C++ Primer 5th笔记(chap 16 模板和泛型编程)转发参数包
- lnmp 中的laravel出现白屏的处理办法
- Oracle备份时发现空间不够,存储空间比较紧张的情况下,如何提升Oracle备份的去重率?...
- ActiveReports 9 新功能:借助目录(TOC)控件为报表添加目录功能
- 记录如何防止跨站点脚本攻击之抄写
- Oracle 多表 连接 顺序 与 性能关系 测试
- 2021-10-13企业财务数据风险预警之随机森林
- 对spinner小结
- Deep Q-learning
- 游戏地图制作---Tiled使用教程
- 一大推DISCUZ系列插件模板来了,需要的免费抢!!!
- Win10如何安装自带的XPS Viewer查看器
- 牛客网c语言笔试题库,【sql】牛客网练习题 (共 61 题)
- 通达信大资金进出指标公式
- 2016总结——在路上,我走到哪儿了?
- AriaNg的Nginx 421错误解决
- 在IDEA开发一个自动输入法切换插件
- MATLAB弹出对话框的使用
- 获取Flickr API key及利用Python获取Flickr数据
- 考虑以下c语言代码int,计算机组成习题答案(清华大学出版社)