1

ページを開くクライアントが iOS6 を使用しているかどうかを確認しようとしています。

var startIndex = navigator.userAgent.search(/OS/i) + 2;
    var endIndex = navigator.userAgent.search(/like/i);
    var iOSVersion = parseInt(navigator.userAgent.substr(startIndex,endIndex - startIndex).trim());
    this.iOSVersion = true;

    if(!isNaN(iOSVersion)){
        this.iOSVersion = iOSVersion;
    }
    else if(Ext.is.Desktop){
        this.iOSVersion = true;
    }

上記のコードは、すべてのバージョンのブラウザーでうまく機能します。

ただし、iOS6 で使用する場合は、iOS5 と表示されます。同じことを検索しましたが、解決策が見つかりませんでした。これを検索し、並べて検索し、誰かが以前にこの問題に直面したことがあるかどうかを期待することはまだ終わっていないかもしれません。

提案や更新はありますか?

4

1 に答える 1

2

これは iOS 6 GM シードで機能するようになり、次の正規表現は iOS6 の iPhone/iPad の両方を検出できます。

/OS (\w+) は Mac OS と同様 /i.exec(navigator.userAgent)

于 2012-09-15T04:52:18.097 に答える