js 判断通过什么打开(安卓、苹果、微信、QQ、浏览器、某个app应用…)
/* 获取当前环境:
系统环境: iOS Android PC
浏览器环境 微信内置浏览器、QQ内置浏览器、正常浏览器
是否app内打开
*/ var ua = navigator.userAgent.toLowerCase(); //获取浏览器标识并转换为小写 var curConfig = {
isiOS: !!navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //是否苹果
isAndroid: ua.indexOf('android') > -1 || ua.indexOf('adr') > -1, //是否安卓
isPC: isPC(), //是否PC
isWeiXin: ua.match(/MicroMessenger/i) == "micromessenger", //是否微信
isQQ: ua.indexOf(' qq/') > -1, //是否QQ
isApp: ua.indexOf('isApp') > -1, //是否某个应用
};
setTimeout(function() {
$('#span_ua').html(ua); //打印
$('#span_config').html(JSON.stringify(curConfig));
}, 100); function isPC() {
var Agents = new Array("android", "iphone", "symbianOS", "windows phone", "ipad", "ipod");
var flag = true;
for (var v = 0; v < Agents.length; v++) {
if (ua.indexOf(Agents[v]) > 0) {
flag = false;
break;
}
}
return flag;
}
$rootScope.browser = {
versions: function() {
var u = navigator.userAgent,
app = navigator.appVersion;
return {
u: u,
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('Adr') > -1, //android终端
iPhone: u.indexOf('iPhone') > -1, //是否为iPhone或者QQHD浏览器
iPad: u.indexOf('iPad') > -1, //是否iPad
webApp: u.indexOf('Safari') == -1, //是否web应该程序,没有头部与底部
weixin: u.indexOf('MicroMessenger') > -1, //是否微信
qq: u.match(/\sQQ/i) == " qq" //是否QQ
};
}(),
language: (navigator.browserLanguage || navigator.language).toLowerCase()
};
$rootScope.ostypeReal = $rootScope.browser.versions.ios || $rootScope.browser.versions.iPad ? 'ios' : 'android';
$rootScope.ostype = 'android';
function isPC() {
var Agents = new Array("android", "iphone", "symbianOS", "windows phone", "ipad", "ipod");
var flag = true;
for (var v = 0; v < Agents.length; v++) {
if (ua.indexOf(Agents[v]) > 0) {
flag = false;
break;
}
}
return flag;
}
var ua = navigator.userAgent.toLowerCase();
function bower() {
return {
isiOS: !!navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/),
isAndroid: ua.indexOf('android') > -1 || ua.indexOf('adr') > -1,
isPC: isPC(),
isWeiXin: ua.match(/MicroMessenger/i) == "micromessenger",
isQQ: ua.indexOf(' qq/') > -1,
isVrseen: ua.indexOf('vrseen') > -1,
}
}
console.log(JSON.stringify(bower()))
console.log(JSON.stringify(bower().isQQ))
/*2017-10-26*/
function isPC() {
var Agents = new Array("android", "iphone", "symbianOS", "windows phone", "ipad", "ipod");
var flag = true;
for (var v = 0; v < Agents.length; v++) {
if (ua.indexOf(Agents[v]) > 0) {
flag = false;
break;
}
}
return flag;
}
var ua = navigator.userAgent.toLowerCase(); function bower() {
return {
isiOS: !!navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/),
isAndroid: ua.indexOf('android') > -1 || ua.indexOf('adr') > -1,
isPC: isPC(),
isWeiXin: ua.match(/MicroMessenger/i) == "micromessenger",
isQQ: ua.indexOf(' qq/') > -1,
isVrseen: ua.indexOf('vrseen') > -1
}
} function myclick(aid) {
//安卓手机
if (bower().isAndroid) {
// 首先判断是否是 webview 如果包含 VRSeen 说明是我们自己的webview浏览器打开的
if (bower().isVrseen) {
// 内链,走安卓方法,回到详情页
window.android.getAppDetail(aid);
} else if (bower().isWeiXin) {
//微信打开
alert('这是微信中,请通过浏览器打开!');
} else if (bower().isQQ) {
//QQ打开
var url = 'vrseenstore://vrseenstore.com/open?aId=' + aid;
window.location.href = url;
} else {
// 外链,走 scheme 方法 vrseenstore://vrseenstore.com/open?aId=689
var url = 'vrseenstore://vrseenstore.com/open?aId=' + aid;
window.location.href = url;
}
} else if (bower().isiOS) {
//IOS手机
if(bower().isWeiXin){
//微信打开
alert('这是微信,请通过浏览器打开');
}else if(bower().isQQ){
alert('这是QQ,请通过浏览器打开');
} } else{
alert('请在安卓手机上玩!')
}
}
js 判断通过什么打开(安卓、苹果、微信、QQ、浏览器、某个app应用…)的更多相关文章
- js 判断是否可以打开本地软件
js判断时候可以打开本地的软件或者插件 点击一个按钮,打开本地的软件,比如问题反馈,需要调起本地的邮箱,填入一些信息. 这个功能<a>标签有提供支持,但是如果本地没有安装邮箱,则无法打开, ...
- js判断设备是否为安卓
var u = navigator.userAgent; var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > - ...
- js判断设备信息,安卓、ios、还是pc端
前端开发获取设备信息的代码if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) { window.location.href =" ...
- js判断客户端是pc还是手机及获取浏览器版本
//判断是pc还是移动端 function browserRedirect() { var sUserAgent = navigator.userAgent.toLowerCase(); var bI ...
- js的let语句在安卓手机端的QQ浏览器出错的问题
关于JavaScript里面的let,let 语句可以声明一个块级作用域的本地变量,并且可选的将其初始化为一个值. <ul id="list"> </ul> ...
- 前端判断是否APP客户端打开触屏,实现跳转APP原生组件交互之遐想
今天做了一个html的活动页面,本来马上就要完工,准备开开心心收尾,结果~... 产品突然提出需要说,要讲html中的某些交互和APP原生组件挂钩,心里一万头xxx奔过~ 静下心来思考 以往我们是判断 ...
- js 设备判断(移动端pc端 安卓ios 微信)
苹果安卓判断 $(function () { var u = navigator.userAgent, app = navigator.appVersion; var isAndroid = u.in ...
- js判断安卓客户端或者是ios客户端,是否是微信浏览器
代码: function xaizai() { var u = navigator.userAgent, app = navigator.appVersion; var isAndroid = ...
- 【方法】JS判断当前页面环境:PC端/移动端,安卓/IOS,微信环境/QQ环境等等
[主要知识] 浏览器设备信息:navigator.userAgent(本文中主要用到知识) 浏览器版本信息:navigator.appVersion var ua = navigator.userAg ...
随机推荐
- Maven常见错误以及解决方案【转载】
常见的Maven错误 当遇到401错误的时候,看看自己当前使用的Maven是集成的还是自己下载的,然后去配置setting.xml文件
- Spring - bean的依赖关系(depends-on属性)
depends-on是bean标签的属性之一,表示一个bean对其他bean的依赖关系.乍一想,不是有ref吗?其实还是有区别的,<ref/>标签是一个bean对其他bean的引用,而de ...
- uvalive 3971 Assemble
https://vjudge.net/problem/UVALive-3971 题意: 现在你要组装一台电脑,每个电脑的一种类型的配件都有多种选择,它们的名字是不同的. 现在给出已有的元件,每种类型都 ...
- python django 使用 haystack:全文检索的框架
haystack:全文检索的框架whoosh:纯Python编写的全文搜索引擎jieba:一款免费的中文分词包 首先安装这三个包 pip install django-haystackpip inst ...
- 如何实现跨 Docker 主机存储?- 每天5分钟玩转 Docker 容器技术(73)
从业务数据的角度看,容器可以分为两类:无状态(stateless)容器和有状态(stateful)容器. 无状态是指容器在运行过程中不需要保存数据,每次访问的结果不依赖上一次访问,比如提供静态页面的 ...
- 偏置-方差分解(Bias-Variance Decomposition)
本文地址为:http://www.cnblogs.com/kemaswill/,作者联系方式为kemaswill@163.com,转载请注明出处. 机器学习的目标是学得一个泛化能力比较好的模型.所谓泛 ...
- PHP通过访客来路获取搜索关键词的方法
<?php class keyword{ public function getKeyword($referer){ if(strpos($referer,"http://www.ba ...
- JS表单提交的几种方式
第一种方式 : 表单提交,在 form 标签中增加 onsubmit 事件来判断表单是否提交成功 <script type="text/javascript"> fun ...
- javascript bom 编程
javascript bom 编程 BOM: 浏览器对象模型 DOM Window :窗口Window Document 属性: status :状态栏 self:自己 ...
- 【爬虫入门01】我第一只由Reuests和BeautifulSoup4供养的Spider
[爬虫入门01]我第一只由Reuests和BeautifulSoup4供养的Spider 广东职业技术学院 欧浩源 1.引言 网络爬虫可以完成传统搜索引擎不能做的事情,利用爬虫程序在网络上取得数据 ...