JS判斷手機瀏覽器

來源:互聯網
上載者:User

標籤:

原文:JS判斷手機瀏覽器

判斷原理:

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

?
1234567891011121314151617181920212223242526272829303132 <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, //蘋果、Google核心                gecko: u.indexOf(‘Gecko‘) > -1 && u.indexOf(‘KHTML‘) == -1, //Firefox核心                mobile: !!u.match(/AppleWebKit.*Mobile.*/)||!!u.match(/AppleWebKit/), //是否為移動終端                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 || u.indexOf(‘Mac‘) > -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,這個很是變態,自己看著處理吧

3個檢測瀏覽器User-Agent資訊的網站


三個線上網站,通過手機瀏覽器就可以線上檢測,很是方便

1. http://whatsmyuseragent.com/

2. http://whatsmyua.com/

3. http://www.useragentstring.com/

 

參考文章:

Pc瀏覽器

http://www.jb51.net/article/17302.htm

http://www.bairuiw.com/front-end-skill/1346.html

手機瀏覽器

http://www.iundefined.com/development/344.html

http://www.cnblogs.com/dowinning/archive/2011/07/22/2113747.html

http://www.cnblogs.com/dowinning/archive/2011/07/22/2113981.html

http://luckerme.com/archives/1015.html


 

原文:http://www.cnblogs.com/phphuaibei/archive/2011/12/09/2282570.html

JS判斷手機瀏覽器

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.