JavaScript 判断 Chrome 内核的 360 浏览器

http://loo2k.com/blog/detect-chrome-core-360-browser/

 

由于众所周知的原因,360 浏览器(包括安全浏览器和极速浏览器)都将自己的 userAgent 伪装成了 Chrome 或者 Internet Explorer,导致前端工程师们在对浏览器做差异化处理的时候不能做出正确的判断。

如果你不知道为什么 360 浏览器要修改自己的 userAgent 伪装成其他浏览器的话,可以参考我在知乎上的回答「360 浏览器占有率从 2012 年 7 月的 22.53% 骤降到 9 月的 2.44%,原因是什么?」,里面大概的讲解了 360 浏览器修改 userAgent 的历史。

这篇文章的主要目的是介绍判断 Chrome 内核的 360 浏览器(包括 360 安全浏览器超速版和 360 浏览器极速版),5.0 版的 IE 内核可以参考 http://segmentfault.com/q/1010000000117437 给出的办法(但是此方法在超速版 6.0 上已经失效)。

此方法根据 360 浏览器使用了跟 Chrome 浏览器不同的 Flash 插件的原因来判断浏览器是否 Chrome 内核的 360 浏览器。

下图为 360 极速浏览器(360 安全浏览器相同)中 Flash 插件的信息:

360浏览器Flash插件信息

下图为 Chrome 浏览器 Flash 插件的信息:

Chrome浏览器Flash插件信息

不知道你看到那个浏览器中 Flash 插件的区别了没有,360 浏览器插件描述是「Adobe Flash movie」,而 Chrome 浏览器的插件描述是「Shockwave Flash」。然后,你懂的。。。

判断 Chrome 内核的 360 浏览器:

function isChrome360(){if( navigator.userAgent.toLowerCase().indexOf('chrome')>-1){var desc = navigator.mimeTypes['application/x-shockwave-flash'].description.toLowerCase();if( desc.indexOf('adobe')>-1){returntrue;}}returnfalse;}
alert(isChrome360());

目前想到的只有 Chrome 判断,过段时间有空再研究一下 360 浏览器在使用 IE 内核的情况下应该怎么判断。

posted @ 2013-04-18 17:48  生活无限  阅读(569)  评论(0编辑  收藏  举报