一、JS判斷客戶端類型
? JS判斷客戶端是否是iOS或者Android手機移動端
? 通過判斷瀏覽器的userAgent,用正則來判斷手機是否是ios和Android客戶端。
核心代碼如下:
方法一:
var u = navigator.userAgent;?
var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android終端?
var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios終端?
if (isAndroid) {
alert('這是Android');?
}
if (isiOS) {
alert('這是IOS');?
}
方法二:
if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) {?
//alert(navigator.userAgent);?
alert('這是IOS');
} else if (/(Android)/i.test(navigator.userAgent)) {?
//alert(navigator.userAgent);?
alert('這是Android');
} else {?
alert('這是PC');
};
二、JS檢測是否在微信打開
? ?使用js 可以通過 window.navigator.userAgent 來獲取瀏覽器的相關(guān)信息,那么我們也可以通過該方法來獲取微信內(nèi)置瀏覽器的相關(guān)信息。根據(jù)關(guān)鍵字 MicroMessenger 來判斷是否是微信內(nèi)置的瀏覽器。
核心代碼如下:
function is_weixn(){?
var ua = navigator.userAgent.toLowerCase();?
if(ua.match(/MicroMessenger/i)=='micromessenger') {?
alert('在微信里打開');?
} else {?
alert('不在微信里打開');?
}?
}
is_weixn();
三、JS判斷操作系統(tǒng)類型
? ?在通過Javascript實現(xiàn)客戶端和服務(wù)端的交互時,有時候需要對操作系統(tǒng)進行判斷,以便實現(xiàn)不同操作系統(tǒng)下的兼容性,比如:我們有一個網(wǎng)站, 在Windows下瀏覽效果良好,但是到了Linux下,由于許多特性不同,會造成在瀏覽上的細微差異,甚至會影響到良好的用戶體驗。這個時候我們就需要利用 Javascript對操作系統(tǒng)的類型以及某些特性進行判斷,分而治之,從而實現(xiàn)網(wǎng)站在跨平臺瀏覽時候保持良好的用戶體驗。
下邊是對Windows、Mac、Linux、Unix擦作系統(tǒng)進行判斷的JS核心代碼:
function detectOS() {
var sUserAgent = navigator.userAgent;
var isWin = (navigator.platform == "Win32") || (navigator.platform == "Windows");
var isMac = (navigator.platform == "Mac68K") || (navigator.platform == "MacPPC") || (navigator.platform == "Macintosh") || (navigator.platform == "MacIntel");
if (isMac) return "Mac";
var isUnix = (navigator.platform == "X11") && !isWin && !isMac;
if (isUnix) return "Unix";
var isLinux = (String(navigator.platform).indexOf("Linux") > -1);
if (isLinux) return "Linux";
if (isWin) {
var isWin2K = sUserAgent.indexOf("Windows NT 5.0") > -1 ||sUserAgent.indexOf("Windows 2000") > -1;
if (isWin2K) return "Win2000";
var isWinXP = sUserAgent.indexOf("Windows NT 5.1") > -1 || sUserAgent.indexOf("Windows XP") > -1;
if (isWinXP) return "WinXP";
var isWin2003 = sUserAgent.indexOf("Windows NT 5.2") > -1 || sUserAgent.indexOf("Windows 2003") > -1;
if (isWin2003) return "Win2003";
var isWinVista= sUserAgent.indexOf("Windows NT 6.0") > -1 || sUserAgent.indexOf("Windows Vista") > -1;
if (isWinVista) return "WinVista";
var isWin7 = sUserAgent.indexOf("Windows NT 6.1") > -1 || sUserAgent.indexOf("Windows 7") > -1;
if (isWin7) return "Win7";
}
return "other";
}
alert("您的操作系統(tǒng)是:" + detectOS());