如何在javascript中区分iPhone 4和iPhone 4s



我有一个只能从iPhone 4s及以上运行的应用程序,我需要能够在客户端(即javascript)设备上区分,并相应地加载应用程序或重定向。有办法检测吗?由于

我看到这三个选项:

1)使用预先编写的开源脚本来检查这一点,并根据结果进行重定向。例如:http://detectmobilebrowsers.com/

2)你实现一个javascript,它基于导航器参数进行检查。看看这个和从SO答案中引用的代码。

function iOSversion() {
  if (/iP(hone|od|ad)/.test(navigator.platform)) {
    var v = (navigator.appVersion).match(/OS (d+)_(d+)_?(d+)?/);
    return [parseInt(v[1], 10), parseInt(v[2], 10), parseInt(v[3] || 0, 10)];
  }
}

3.)您可以在Apache端使用重写规则将重定向到基于user-agent的正确页面。看到这个。

对于这三个选项,你有一个问题,那就是很难区分iPhone 4和iPhone 4s。请看下面的答案。

如果你需要检查视网膜功能,你也可以使用这个JS:

var isRetina = window.matchMedia("(-webkit-min-device-pixel-ratio: 2)").matches;

更多关于什么是min-device-pixel-ratio的信息在这里:link。这里也有关于媒体查询的信息:link

最新更新