iOS 7上Safari浏览器的用户代理

时间:2013-10-09 05:50:03

标签: ios browser

我想用Safari浏览器在iPhone和iPod中打开我的网站。对于任何其他浏览器,如Chrome,Dolphin等,它不应该打开。

但目前我从几乎所有设备获得相同的用户代理:

对于Safari:

User Agent String :: mozilla/5.0 (iphone; cpu iphone os 7_0_2 like mac os x) applewebkit/537.51.1 (khtml, like gecko) version/7.0 mobile/11a501 safari/9537.53

对于Chrome:

User Agent String :: mozilla/5.0 (iphone; cpu iphone os 7_0_2 like mac os x) applewebkit/537.51.1 (khtml, like gecko) crios/30.0.1599.16 mobile/11a501 safari/8536.25

对于Mercury浏览器:

User Agent String :: mozilla/5.0 (iphone; cpu iphone os 6_0_1 like mac os x) applewebkit/536.26 (khtml, like gecko) mercury/7.4.2 mobile/10a523 safari/8536.25

对于Dolphin浏览器:

User Agent String :: mozilla/5.0 (iphone; cpu iphone os 7_0_2 like mac os x) applewebkit/537.51.1 (khtml, like gecko) version/6.0 mobile/10a523 safari/8536.25

使用Chrome,我可以通过检查crios和Mercury by mercury字符串来查看,但其他浏览器似乎与Safari具有相同的用户代理?

3 个答案:

答案 0 :(得分:28)

other答案并非严格正确。在iOS上,Apple阻止任何竞争浏览器实际包含他们自己的渲染引擎;所有人都必须使用标准的webview。

因此,所有这些第三方浏览器(具有同步收藏夹等功能)只是围绕Safari驱动的webview实际呈现页面的包装器,因此它们都拥有Safari的用户代理字符串。

答案 1 :(得分:5)

浏览器会故意这样做,以防止人们做你想做的事情。他们的开发人员认为,由于他们使用相同的Web引擎(WebKit,blink或gecko),因此他们会轻松地为类似浏览器优化页面(这可能是正确的)。

所以很可能没有办法说出来。

答案 2 :(得分:0)

解决水银,歌剧,铬火狐但没有海豚的问题

(
  (/(iPad|iPhone|iPod)/gi).test(userAgent) &&
  !(/CriOS/).test(userAgent) &&
  !(/FxiOS/).test(userAgent) &&
  !(/OPiOS/).test(userAgent) &&
  !(/mercury/).test(userAgent)
)