最近接手了一個根據不同瀏覽器做不同logic的項目。對其中的一些問題做一些總結。
判斷瀏覽器類型的注重要方式就是window.navigater.userAgent對象。
自己親測每個瀏覽器裏的瀏覽器的關鍵詞:
百度瀏覽器: chrome safari baidubrowser
QQ瀏覽器: chrome safari mqqbrowser
獵豹瀏覽器: chrome safari liebaofast
Safari: safari
Uc: ucbrowser safari
Chrome: chrome safari
既然知道了各個瀏覽器的特點,那麼判斷就比較容易了:
<span style="font-size:14px;">If(ua.toLowerCase().indexOf(“baidu”) > 0){
<span style="white-space: pre;"> </span>//baidu logic
}else if(ua.toLowerCase().indexOf(“qq”) > 0){
//qq logic
} else if(ua.toLowerCase().indexOf(“liebao”) > 0){
//liebao logic
} else if(ua.toLowerCase().indexOf(“uc”) > 0){
//uc logic
} else if(ua.toLowerCase().indexOf(“chrome”) > 0){
//chrome logic
} else if(ua.toLowerCase().indexOf(“safari”) > 0){
//safari logic
}else{
//others
}</span>
完事兒了!?!!!
NO NO NO!!!
IOS Chrome中你會發現,引用的是safari的邏輯。
爲什麼呢?
原來在IOS 的Chrome ua關鍵詞是 crios safari,現在明白了吧!
再加上crios的條件判斷邏輯即可!
如有錯誤,非常歡迎指出!