機能検出を使用して iOS6 デバイスを検出する一般的な方法はありますか。
2 に答える
2
APIを確認することもできFileReader
ますが、もちろん、これは多くの最新のデスクトップ ブラウザーにも一致します (問題が発生するかどうかはわかりませんが、疑わしいと思います)。
var iOS6 = false;
if(window.FileReader)
{
iOS6 = true;
}
于 2012-12-10T12:01:17.160 に答える
2
最善の方法は常にユーザー エージェント文字列を解析することだと思いますが、iOS 6 で導入された Safari のバージョンは、以前はサポートされていなかった機能を使用して検出できます (より完全なリストについては、この記事を参照してください。例を 1 つだけ示します)。
基本的にはmodernizrで使用されているのと同じ手法を模倣する必要があります。このコードでは、<input>
型file
がサポートされているかどうかを確認します。サポートされている場合は、iOS 6 以降の Safari で実行しています。もちろん、機能を使用するだけでは、ユーザーが別のブラウザーを使用していないことを確認することはできません (そのため、OS のバージョンを検出する必要がある場合は、ユーザー エージェント文字列を使用することをお勧めします)。比較については、SO に関するこの投稿を参照してください。
function isNewVersion() {
var elem = document.createElement("input");
elem.setAttribute("type", "file");
return elem.type !== "text";
}
于 2012-12-10T12:01:37.677 に答える