请问关于JS获取浏览器信息的疑问
请教关于JS获取浏览器信息的疑问
关通过JS获取浏览器名称和版本 ,
网上找了一些 ,
好多都通过如
s = ua.match(/msie ([/d.]+)/)) ? Sys.ie = s[1] :
(s = ua.match(/firefox//([/d.]+)/)) ? Sys.firefox = s[1] :
(s = ua.match(/chrome//([/d.]+)/)) ? Sys.chrome = s[1] :
(s = ua.match(/opera.([/d.]+)/)) ? Sys.opera = s[1] :
(s = ua.match(/version//([/d.]+).*safari/)) ? Sys.safari = s[1] : 0;
来判断,
但是我通过读取不同浏览器该值,发现里边都有多种浏览器名称 ;
那么是否会判断错误 ?
比如 :
ie8: userAgent =Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 1.1.4322; .NET4.0C; .NET4.0E)
chrome: userAgent =Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36
ff: userAgent =Mozilla/5.0 (Windows NT 5.1; rv:25.0) Gecko/20100101 Firefox/25.0
maxthon: userAgent =Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Maxthon/4.4.6.2000 Chrome/30.0.1599.101 Safari/537.36
比如使用时 maxthon时 Sys.chrome 也会被赋值,造成 会被认为是 chrome,
但是看网上好多资料都这么判断 ,
是我理解错了?
请各位大侠指点,谢谢 !
------解决思路----------------------
我觉得应该通过判断浏览器是否存在某一对象或属性方法的方式来确定浏览器的版本。
------解决思路----------------------
功能测试呗 毕竟多数情况下都只在乎浏览器支不支持某个东西 二不关心浏览器是什么
------解决思路----------------------
mathon是多核的吧,兼容是ie的,如果是急速是webkit的,和360这种一样,所以你要区分具体的还是比较难搞的
关通过JS获取浏览器名称和版本 ,
网上找了一些 ,
好多都通过如
s = ua.match(/msie ([/d.]+)/)) ? Sys.ie = s[1] :
(s = ua.match(/firefox//([/d.]+)/)) ? Sys.firefox = s[1] :
(s = ua.match(/chrome//([/d.]+)/)) ? Sys.chrome = s[1] :
(s = ua.match(/opera.([/d.]+)/)) ? Sys.opera = s[1] :
(s = ua.match(/version//([/d.]+).*safari/)) ? Sys.safari = s[1] : 0;
来判断,
但是我通过读取不同浏览器该值,发现里边都有多种浏览器名称 ;
那么是否会判断错误 ?
比如 :
ie8: userAgent =Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 1.1.4322; .NET4.0C; .NET4.0E)
chrome: userAgent =Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36
ff: userAgent =Mozilla/5.0 (Windows NT 5.1; rv:25.0) Gecko/20100101 Firefox/25.0
maxthon: userAgent =Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Maxthon/4.4.6.2000 Chrome/30.0.1599.101 Safari/537.36
比如使用时 maxthon时 Sys.chrome 也会被赋值,造成 会被认为是 chrome,
但是看网上好多资料都这么判断 ,
是我理解错了?
请各位大侠指点,谢谢 !
------解决思路----------------------
我觉得应该通过判断浏览器是否存在某一对象或属性方法的方式来确定浏览器的版本。
------解决思路----------------------
功能测试呗 毕竟多数情况下都只在乎浏览器支不支持某个东西 二不关心浏览器是什么
------解决思路----------------------
mathon是多核的吧,兼容是ie的,如果是急速是webkit的,和360这种一样,所以你要区分具体的还是比较难搞的