var ua = navigator.userAgent.toLowerCase();
1.判斷是不是微信
javascript
function isWeixinBrowser() { return (/micromessenger/.test(ua)) ? true : false; }
2.判斷是不是androidhtml
var isAndroid = ua.indexOf('android') > -1 || ua.indexOf('linux') > -1;
3.具體過程java
scheme是客戶端定義的url-scheme
linux
$("a[href^='scheme://']").on('click',function(e){ e.preventDefault();//阻止默認行爲 if(isWeixinBrowser()){ $('.layer').show();//遮罩層(使用外部瀏覽器打開,此處樣式自行設定) }else{ if(isAndroid){ //android $('body').append("<iframe src='scheme://openapp' style='display:none' target='' ></iframe>");//target爲空防止在當前頁面刷新 setTimeout(function(){window.location = 'http://www.510wifi.com/weixin_download_client.html'},600); }else{ //ios window.location = 'scheme://openapp'; setTimeout(function(){window.location = 'itms-apps://itunes.apple.com/app/id123456789'},25); } } })
附:判斷手機端各類瀏覽器android
if (ua.match(/WeiBo/i) == "weibo") { //在新浪微博客戶端打開 } if (ua.match(/QQ/i) == "qq") { //在QQ空間打開 } if (browser.versions.ios) { //是否在IOS瀏覽器打開 } if(browser.versions.android){ //是否在安卓瀏覽器打開 }
var u = navigator.userAgent, app = navigator.appVersion; 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('Linux') > -1, //android終端或uc瀏覽器 iPhone: u.indexOf('iPhone') > -1, //是否爲iPhone或者QQHD瀏覽器 iPad: u.indexOf('iPad') > -1, //是否iPad webApp: u.indexOf('Safari') == -1 //是否web應該程序,沒有頭部與底部