使用navigator對象信息對瀏覽器進行判斷

   剛剛完成的一個公司小項目中有這樣一個需求,需要根據用戶所使用的平臺(iOS、Android、微信)進行不同的鏈接跳轉。這個地方使用了javascript的navigator對象進行判斷。

   navigator爲Window對象的一個屬性,指向了一個包含瀏覽器相關信息的對象。
   navigatot中包含了一些常用到的屬性,如:
   navigator.appVersion 瀏覽器的版本號
   navigator.appName    瀏覽器的名稱
   navigator.language   瀏覽器使用的語言
   navigator.platform   瀏覽器使用的平臺
   navigator.userAgent  瀏覽器的user-agent信息 

以下就是我的瀏覽器的相關信息:
這裏寫圖片描述

我們主要通過userAgent來進行瀏覽器的判斷(但這並不是一個好的方法,不同的瀏覽器的userAgent不盡相同,不能保證準確的判斷)。
不過user-agent這串字符串信息的歷史很有意思,感興趣的話可以參考這兩篇文章:
http://article.yeeyan.org/view/heart5/19211
http://www.kuqin.com/shuoit/20150312/345160.html

好了,言歸正傳,我們是怎樣進行判斷的呢?其實很簡單,主要通過user-agent字符串中的相關字段來進行判斷,代碼如下:

// ios設備
var isiOS = navigator.userAgent.match('iPad') || navigator.userAgent.match('iPhone') ||                                            navigator.userAgent.match('iPod');
// 安卓設備
var isAndroid = navigator.userAgent.match('Android');
// 微信內置瀏覽器
var isWeChat = navigator.userAgent.match('MicroMessenger');

OK!目前就是通過上面的方法進行判斷的,如果你有更好的方法請留言告訴我哦~~~~

參考文章:
1.廖雪峯的Javascript全棧教程
http://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/001434499832124d97d77b00706461f9daf1a390b75ade1000
2.http://javascript.ruanyifeng.com/bom/window.html#toc6

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章