欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

js判斷客戶端是iOS還是Android等移動終端的方法

 更新時間:2021年08月13日 10:12:36   投稿:whsnow  
本文為大家介紹下使用js判斷客戶端是iOS還是Android等移動終端,示例代碼如下,感興趣的朋友可以參考下

判斷原理

JavaScript是前端開發(fā)的主要語言,我們可以通過編寫JavaScript程序來判斷瀏覽器的類型及版本。JavaScript判斷瀏覽器類型一般有兩種辦法,一種是根據各種瀏覽器獨有的屬性來分辨,另一種是通過分析瀏覽器的userAgent屬性來判斷的。在許多情況下,值判斷出瀏覽器類型之后,還需判斷瀏覽器版本才能處理兼容性問題,而判斷瀏覽器的版本一般只能通過分析瀏覽器的userAgent才能知道。

瀏覽器類型

⑴瀏覽器特有屬性
⑵根據userAgent
瀏覽器版本
⑴根據userAgent

對于手機瀏覽器判斷

1.如何判斷是否為移動終端 利用正則match,
匹配navigator.userAgent是否含有字符串AppleWebKit*****Mobile
安卓qq瀏覽器HD版 只有AppleWebKit

2手機語言版本的判斷
使用navigator.browserLanguage 便可得出windows phone語言版本,
當然可惡的小小手機語言版本也有兼容性的差異,兼容Mozilla,以及AppleWebKit內核的瀏覽器訪問其語言版本,它會列出 navigator.language

<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> 

比較特別的地方

UC瀏覽器沒有安卓報頭,只返回:linux ,這里粗略的根據linux來判斷是安卓(前提必須滿足是移動終端,UC這點是滿足的)
安卓QQ瀏覽器HD版檢測的結果是:mac, Safari

檢測瀏覽器語言:

currentLang = navigator.language;   //判斷除IE外其他瀏覽器使用語言
if(!currentLang){//判斷IE瀏覽器使用語言
    currentLang = navigator.browserLanguage;
}
alert(currentLang);

js 判斷iPhone|iPad|iPod|iOS|Android客戶端

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";
};

以上代碼已經調整,可以放心使用,若有問題,歡迎指出。

相關文章

  • 使用有限狀態(tài)機實現簡版的html解析器

    使用有限狀態(tài)機實現簡版的html解析器

    FSM(Finite State Machines) 有限狀態(tài)機,也叫有限狀態(tài)自動機,是為研究有限內存的計算過程和某些語言類而抽象出的一種計算模型,本文將使用有限狀態(tài)機實現一個簡版的html解析器,有需要的小伙伴可以參考下
    2023-11-11
  • js如何在字符串中查找某個字符的位置

    js如何在字符串中查找某個字符的位置

    這篇文章主要給大家介紹了關于js如何在字符串中查找某個字符的位置的相關資料,在JavaScript中我們經常需要對字符串進行各種操作,包括查找包含特定字符的字符串,需要的朋友可以參考下
    2023-11-11
  • 微信小程序商城項目之側欄分類效果(1)

    微信小程序商城項目之側欄分類效果(1)

    這篇文章主要為大家詳細介紹了微信小程序實戰(zhàn)商城系列之側欄分類效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • 在js代碼拼接dom對象到頁面上的模板總結

    在js代碼拼接dom對象到頁面上的模板總結

    今天小編就為大家分享一篇關于在js代碼拼接dom對象到頁面上的模板總結,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • JavaScript中的相等操作符使用詳解

    JavaScript中的相等操作符使用詳解

    JavaScript 中的相等操作符詳解,包括 [] == []、[] == ![]、{} == !{}幾個操作符,需要的朋友可以參考下
    2019-12-12
  • JS實現百度搜索框

    JS實現百度搜索框

    這篇文章主要為大家詳細介紹了JS實現百度搜索框,實時返回搜索建議項,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-02-02
  • ckeditor一鍵排版功能實現方法分析

    ckeditor一鍵排版功能實現方法分析

    這篇文章主要介紹了ckeditor一鍵排版功能實現方法,結合實例形式分析了ckeditor一鍵排版相關擴展插件定義、配置與使用方法,需要的朋友可以參考下
    2020-02-02
  • javascript將數組插入到另一個數組中的代碼

    javascript將數組插入到另一個數組中的代碼

    下面的代碼主要功能就是將數組arr2插入到數組arr1的index位置,需要的朋友可以參考下
    2013-01-01
  • JS實現勻速運動的代碼實例

    JS實現勻速運動的代碼實例

    這篇文章主要介紹了JS實現勻速運動的代碼實例,有需要的朋友可以參考一下
    2013-11-11
  • 如何使用moment.js獲取本周、前n周、后n周開始結束日期及動態(tài)計算周數

    如何使用moment.js獲取本周、前n周、后n周開始結束日期及動態(tài)計算周數

    使用了momentjs之后發(fā)現這個日期處理控件實在是太強大了,下面這篇文章主要給大家介紹了關于如何使用moment.js獲取本周、前n周、后n周開始結束日期及動態(tài)計算周數的相關資料,需要的朋友可以參考下
    2022-09-09

最新評論