有什么方法可以检测到用户正在使用Blink或Webkit驱动的Chrome引擎?顺便说一句,我也很好奇我是否可以检查某处浏览器是否闪烁。
闪烁的是Chrome 28+。因此,如果您已经通过其用户代理检测到Chrome,则可以检查一下:version >= 28
如果欺骗了用户代理,这显然不完全可靠。
对于其他更可靠的方法,您可以检查 chrome.notifications API状态,该状态已通过Blink / Chrome28 +(在ChromeOS,Windows和Mac以及Android 4.4上)可用/稳定。
有关参考,请参见此 答案 ,有关详细信息, 请参见本 文档 。
更新:以前的想法是复杂且不可靠的。我删除了
我碰到了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
因为令牌的Windows IE浏览器现在模仿Android和闪烁。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句