使用Javascript判斷瀏覽器終端設(shè)備(PC、IOS(iphone)、Android)
WEB開發(fā)中如何通過Javascript來判斷終端為PC、IOS(iphone)、Android呢?
可以通過判斷瀏覽器的userAgent,用正則來判斷手機(jī)是否是ios和Android客戶端。
var u = navigator.userAgent;
isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1, //android終端
isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios終端
下面一個(gè)比較全面的瀏覽器檢查函數(shù),提供更多的檢查內(nèi)容,你可以檢查是否是移動(dòng)端(Mobile)、ipad、iphone、微信、QQ等。
<script type="text/javascript">
//判斷訪問終端
var browser={
versions:function(){
var u = navigator.userAgent, app = navigator.appVersion;
return {
trident: u.indexOf('Trident') > -1, //IE內(nèi)核
presto: u.indexOf('Presto') > -1, //opera內(nèi)核
webKit: u.indexOf('AppleWebKit') > -1, //蘋果、谷歌內(nèi)核
gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1,//火狐內(nèi)核
mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否為移動(dòng)終端
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應(yīng)該程序,沒有頭部與底部
weixin: u.indexOf('MicroMessenger') > -1, //是否微信 (2015-01-22新增)
qq: u.match(/\sQQ/i) == " qq" //是否QQ
};
}(),
language:(navigator.browserLanguage || navigator.language).toLowerCase()
}
</script>
使用方法:
//判斷是否IE內(nèi)核
if(browser.versions.trident){ alert("is IE"); }
//判斷是否webKit內(nèi)核
if(browser.versions.webKit){ alert("is webKit"); }
//判斷是否移動(dòng)端
if(browser.versions.mobile||browser.versions.android||browser.versions.ios){ alert("移動(dòng)端"); }
檢測瀏覽器語言
currentLang = navigator.language; //判斷除IE外其他瀏覽器使用語言
if(!currentLang){//判斷IE瀏覽器使用語言
currentLang = navigator.browserLanguage;
}
alert(currentLang);
上面只是平時(shí)用的最多的一種方法,其實(shí)還有第二種方法:
if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) {
//alert(navigator.userAgent);
window.location.href ="iPhone.html";
} else if (/(Android)/i.test(navigator.userAgent)) {
//alert(navigator.userAgent);
window.location.href ="Android.html";
} else {
window.location.href ="pc.html";
};
不同的終端設(shè)備采用不同的響應(yīng)策略,具體場景靈活運(yùn)用把哈哈。
以上所述是小編給大家介紹的使用Javascript判斷瀏覽器終端設(shè)備(PC、IOS(iphone)、Android),希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
JavaScript實(shí)現(xiàn)多叉樹的遞歸遍歷和非遞歸遍歷算法操作示例
這篇文章主要介紹了JavaScript實(shí)現(xiàn)多叉樹的遞歸遍歷和非遞歸遍歷算法,結(jié)合實(shí)例形式詳細(xì)分析了JavaScript多叉樹針對(duì)json節(jié)點(diǎn)的遞歸與非遞歸遍歷相關(guān)操作技巧,需要的朋友可以參考下2018-02-02
JavaScript中常用的簡潔高級(jí)技巧總結(jié)
這篇文章主要給大家總結(jié)介紹了關(guān)于JavaScript中常用的簡潔高級(jí)技巧,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者使用Javascript具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03
基于Bootstrap仿淘寶分頁控件實(shí)現(xiàn)代碼
這篇文章主要介紹了基于Bootstrap仿淘寶分頁控件實(shí)現(xiàn)代碼,本文分步驟給大家介紹的非常詳細(xì),感興趣的朋友參考下吧2016-11-11
js實(shí)現(xiàn)彈窗插件功能實(shí)例代碼分享
這篇文章主要介紹了2013-12-12
AngularJS實(shí)現(xiàn)textarea記錄只能輸入規(guī)定數(shù)量的字符并顯示
AngularJS 是一個(gè) MV* 框架,最適于開發(fā)客戶端的單頁面應(yīng)用。它不是個(gè)功能庫,而是用來開發(fā)動(dòng)態(tài)網(wǎng)頁的框架。接下來通過本文給大家介紹AngularJS實(shí)現(xiàn)textarea記錄只能輸入規(guī)定數(shù)量的字符并顯示的相關(guān)內(nèi)容,需要的朋友參考下吧2016-04-04
JavaScript中的定時(shí)器之Item23的合理使用
window對(duì)象提供了兩個(gè)方法來實(shí)現(xiàn)定時(shí)器的效果,分別是window.setTimeout()和window.setInterval。其中前者可以使一段代碼在指定時(shí)間后運(yùn)行;而后者則可以使一段代碼每過指定時(shí)間就運(yùn)行一次2015-10-10

