是否存在使用特征检测检测iOS6设备的通用方法。
答案 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";
}