有没有办法检测用户是否使用Blink或Webkit驱动的Chrome引擎?顺便说一句,我也很好奇我是否可以检查一下我的浏览器是否闪烁。
答案 0 :(得分:5)
Blink是Chrome 28+。
因此,如果您已经通过其useragent检测到Chrome,则可以检查:version >= 28
如果用户代理被欺骗,则显然不完全可靠。
要获得更加可靠的方式,您可以使用Blink / Chrome28 +(在ChromeOS,Windows和Mac以及Android 4.4上)检查chrome.notifications API状态是否可用/稳定 < / p> <击>
有关详细信息,请参阅此answer,有关详细信息,请参阅此documentation。
更新:之前的想法很复杂且不可靠。我删除了它。
我遇到了一个随Chrome 28添加的功能(即CSS.supports),这个功能更简单,更清晰:
if ((window.chrome || (window.Intl && Intl.v8BreakIterator)) && 'CSS' in window){
//Blink Engine
}
更新2:添加了额外的检查,因为某些Blink浏览器(如Opera Mobile或Maxthon)缺少window.chrome
对象。从2014年12月开始,必须进行v8功能检查以涵盖所有当前的Blink引擎浏览器。
为了完整性,您要求使用服务器端编程语言:
在服务器端甚至最终为JS,只需查找WebKit/537.36
。只有Blink用户代理才能拥有该Webkit版本。据我所知,没有官方Safari版本与该版本号一起发布。但是,请注意IEMobile
之后的Trident
,Edge
或{{1}}令牌。