本文為大家介紹下使用js判斷客戶端是iOS還是Android等移動終端,示例代碼如下,感興趣的朋友可以參考下
判斷原理: JavaScript是前端開發的主要語言,我們可以通過編寫JavaScript程序來判斷浏覽器的類型及版本。JavaScript判斷浏覽器類型一般有兩種辦法,一種是根據各種浏覽器獨有的屬性來分辨,另一種是通過分析浏覽器的userAgent屬性來判斷的。在許多情況下,值判斷出浏覽器類型之後,還需判斷浏覽器版本才能處理兼容性問題,而判斷浏覽器的版本一般只能通過分析浏覽器的userAgent才能知道。 浏覽器類型 ⑴浏覽器特有屬性 ⑵根據userAgent 浏覽器版本 ⑴根據userAgent 對於手機浏覽器判斷 1.如何判斷是否為移動終端 利用正則match, 匹配navigator.userAgent是否含有字符串AppleWebKit*****Mobile 安卓qq浏覽器HD版 只有AppleWebKit 2手機語言版本的判斷 使用navigator.browserLanguage 便可得出windows phone語言版本, 當然可惡的小小手機語言版本也有兼容性的差異,兼容Mozilla,以及AppleWebKit內核的浏覽器訪問其語言版本,它會列出 navigator.language CODE: 代碼如下: <script type="text/javascript"> var browser={ versions:function(){ var u = navigator.userAgent, app = navigator.appVersion; return { //移動終端浏覽器版本信息 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應該程序,沒有頭部與底部 }; }(), language:(navigator.browserLanguage || navigator.language).toLowerCase() } document.writeln("語言版本: "+browser.language); document.writeln(" 是否為移動終端: "+browser.versions.mobile); document.writeln(" ios終端: "+browser.versions.ios); document.writeln(" android終端: "+browser.versions.android); document.writeln(" 是否為iPhone: "+browser.versions.iPhone); document.writeln(" 是否iPad: "+browser.versions.iPad); document.writeln(navigator.userAgent); </script>