剛剛完成的一個公司小項目中有這樣一個需求,需要根據用戶所使用的平臺(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