? ? ? 在我們平時(shí)做app開發(fā)的過程中扮授,經(jīng)常會(huì)遇到安卓和iOS設(shè)備不兼容的問題麸澜,有的時(shí)候就需要應(yīng)對兩種設(shè)備分別來做調(diào)整,這時(shí)就需要獲取到設(shè)備的類型徒探,在這里我們用到了navigator.userAgent方法威兜。
一销斟、navigator.userAgent語法
? ? userAgent 屬性是一個(gè)只讀的字符串,聲明了瀏覽器用于 HTTP 請求的用戶代理頭的值牡属。
二票堵、navigator還有其它的屬性如下:
1.瀏覽器代號(hào):? navigator.appCodeName
2.瀏覽器名稱: navigator.appName
3.瀏覽器版本: navigator.appVersion
4.啟用Cookies: navigator.cookieEnabled
5.硬件平臺(tái): navigator.platform
6.用戶代理: navigator.userAgent
7.用戶代理語言: navigator.language
三扼睬、應(yīng)用事例
與正則表達(dá)式一起使用逮栅,判定設(shè)備類型
if(/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent){ return "IOS" }
else if(/(Android)/i.test(navigator.userAgent){ return "Android" }
else{ return "unknown }
也可以使用其他判定字符串中是否包含關(guān)鍵字的方法例如:
1.? navigator.userAgent.Indexof(iPhone ||iPad ||iPod|| iOS)在一個(gè)字符串中查找關(guān)鍵詞的索引,如果大于等于0則證明包含
2.? navigator.userAgent.match(/(iPhone|iPad|iPod|iOS/)窗宇,返回的是一個(gè)數(shù)組措伐,數(shù)組的第一項(xiàng)則是匹配到的設(shè)備類型結(jié)果,第二項(xiàng)是匹配到的關(guān)鍵詞索引index屬性军俊,如果返回是null則說明不包含這幾項(xiàng)設(shè)備類型
3.? navigator.userAgent.search(/(iPhone|iPad|iPod|iOS/)或者navigator.userAgent.search(iPhone ||iPad ||iPod|| iOS)侥加,這個(gè)方法結(jié)合和以上兩種使用方法,參數(shù)既可以直接用關(guān)鍵詞字符串也可以用正則表達(dá)式粪躬,返回值都是索引值担败,判定大于等于0則包含