iOS Chrome检测

cr1*_*aun 41 javascript mobile google-chrome ios

我使用Javascript代码

if( (Android|webOS|iPhone|iPad|iPod|BlackBerry).test(navigator.userAgent) ) {}
Run Code Online (Sandbox Code Playgroud)

用于移动设备检测,但未检测到iOS上的Chrome.有没有办法检测它?谢谢.

Cha*_*tte 109

Google Developers称,UA字符串如下所示:

Mozilla/5.0 (iPhone; U; CPU iPhone OS 5_1_1 like Mac OS X; en) AppleWebKit/534.46.0 (KHTML, like Gecko) CriOS/19.0.1084.60 Mobile/9B206 Safari/7534.48.3
Run Code Online (Sandbox Code Playgroud)

它与iOS Safari的不同之处在于它CriOS代替了Version.所以这:

if(navigator.userAgent.match('CriOS'))
Run Code Online (Sandbox Code Playgroud)

应该这样做.

  • 我必须使用这个,因为ios上的chrome被认为是facebook登录系统的"不支持的浏览器".无法对此进行特征检测. (13认同)
  • @BrianHaak iOS 上的 Chrome 也不支持 serviceWorkers,即使 Safari 也支持。苹果决定压制这部分内容。 (4认同)
  • 您使用浏览器嗅探来解决非常具体的浏览器错误。 (2认同)
  • 在iOS上使用Chrome的js通常会降低性能。 (2认同)
  • @BrianHaak iOS上的Chrome不支持网络摄像头访问。Safari可以。在iOS上检测Chrome的一个非常特定的原因。 (2认同)

小智 7

如果您想要简单的对/错答案:

if(/CriOS/i.test(navigator.userAgent) &&
/iphone|ipod|ipad/i.test(navigator.userAgent)){
    return true;
}else{
    return false;
}
Run Code Online (Sandbox Code Playgroud)