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('请在安卓手机上玩!') } }