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

时间:2013-06-05 15:43:59

标签: javascript iphone ios

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

1 个答案:

答案 0 :(得分:1)

我为你看到了这三个选项:

1)使用预煮的开源脚本来检查这一点,并根据结果进行重定向。您可以使用此示例:http://detectmobilebrowsers.com/

2)您实施javascript ,根据导航器参数进行检查。请参阅this以及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端的重写规则将重定向到基于用户代理的正确页面。请参阅this

对于所有3个选项,您遇到的问题是几乎无法区分iPhone 4和4s。请参阅此SO answer

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

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

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