在WEB開發中,瀏覽器安全色問題往往弄得我們焦頭爛額。這篇文章主要是通過使用JS封裝一個方法來獲得當前用戶端的瀏覽器類型和瀏覽器版本號碼。大家都知道,我們往往是通過分析瀏覽器的uerAgent來判斷,可是uerAgent屬性又臭又長,我們又該如何從中抽絲剝繭,獲得每個瀏覽器的所專屬的特性呢,首先,我們來分析下各個瀏覽器的uerAgent字串:(並不會寫完全,只是寫該字串中比較重要的一部分)
IE(MSIE後面是版本號碼)
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2)
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
Mozilla/4.0 (compatible; MSIE 5.0; Windows NT)
FireFox(Firefox/後面是版本號碼)
Mozilla/5.0 (Windows; U; Windows NT 5.2) Gecko/2008070208 Firefox/3.0.1
Mozilla/5.0 (Windows; U; Windows NT 5.1) Gecko/20070309 Firefox/2.0.0.3
Mozilla/5.0 (Windows; U; Windows NT 5.1) Gecko/20070803 Firefox/1.5.0.12
Opera(Opera後面是版本號碼)
Opera/9.27 (Windows NT 5.2; U; zh-cn)
Opera/8.0 (Macintosh; PPC Mac OS X; U; en)
Mozilla/5.0 (Macintosh; PPC Mac OS X; U; en) Opera 8.0
Safri(Version後面是版本號碼)
Mozilla/5.0 (Windows; U; Windows NT 5.2) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1
Safari/525.13
Mozilla/5.0 (iPhone; U; CPU like Mac OS X) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0
Mobile/4A93 Safari/419.3
chrome(chrome後面是版本號碼)
Mozilla/5.0 (Windows; U; Windows NT 5.2) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.27 Safari/525.13
比較有趣的是,chrome的userAgent字串中還包含了safari的特性。
下面,就可已根據以上的這些特徵來構造我們的對象:
var ua=navigator.userAgent.toLowerCase();<br /> var s=null;<br /> var browser={<br /> msie:(s=ua.match(/msie/s*([/d/.]+)/))?s[1]:false,<br /> firefox:(s=ua.match(/firefox//([/d/.]+)/))?s[1]:false,<br /> chrome:(s=ua.match(/chrome//([/d/.]+)/))?s[1]:false,<br /> opera:(s=ua.match(/opera.([/d/.]+)/))?s[1]:false,<br /> safari:(s=ua.match(/varsion//([/d/.]+).*safari/))?s[1]:false<br />};
關鍵字的值或者為假,或者為當前瀏覽器的版本號碼。因此我們可以通過這個對象進行瀏覽器的檢測。