我有一个只能从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