2

機能検出を使用して iOS6 デバイスを検出する一般的な方法はありますか。

4

2 に答える 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 に答える