最近接手了一个根据不同浏览器做不同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的条件判断逻辑即可!
如有错误,非常欢迎指出!