如何使用特征检测来检测iOS6设备

时间:2012-12-10 11:50:04

标签: javascript

是否存在使用特征检测检测iOS6设备的通用方法。

2 个答案:

答案 0 :(得分:2)

您可以查看FileReader API,但当然这也会与许多现代桌面浏览器相匹配(我不确定这是否会给您带来一些问题,但我对此表示怀疑):

var iOS6 = false;
if(window.FileReader)
{
    iOS6 = true;
}

答案 1 :(得分:2)

我认为最好的方法始终是parse the user agent string,但您可以使用之前不支持的功能检测iOS 6中引入的Safari版本(有关更完整的列表,请参阅this article,我将提供一个例子)。

基本上你必须模仿modernizr使用的相同技术,你会检查这段代码是否支持<input>类型file,如果是的话在iOS 6或更高版本的Safari上重新运行。当然只是使用功能,你不能确定用户没有使用其他浏览器(这就是为什么我更喜欢用户代理字符串,如果你必须检测操作系统版本)。有关比较,请参阅this post here on SO

function isNewVersion() {
    var elem = document.createElement("input");
    elem.setAttribute("type", "file");

    return elem.type !== "text";
}