Mobile SafariのサポートをiOS2に戻すために使用できるJavascript APIを把握しようとしています。 iOSの各新バージョンに付属するMobile Safariのバージョンを示すリストはどこにもありません。 iOS2にまでさかのぼる包括的なリストを探しています。
ありがとう!
[編集:はい、機能の検出を知っています。ただし、サポートする必要があるターゲットブラウザーのセットがあり、提供したフォールバックがターゲットオーディエンスをカバーし、面倒なハックである追加のフォールバックを提供する必要がないことを確認するだけです。]
これは既にGoogleのヒット商品であるため、ここからリストを開始する必要があります。この回答をコミュニティWikiにします。ところで、これらをデバイスのユーザーエージェント文字列から取得しています。ブラウザのバージョンはiOSのバージョンに依存し、デバイスに依存しません。ただし、携帯電話が上位のiOSバージョンをサポートしていない場合は次のように表示されます。
3.2.2 - Mobile Safari 4.0.4
4.3.3 - Mobile Safari 5.02 - iPhone 3g
5.0 - Mobile Safari 5.1
5.1 - Mobile Safari 5.1
6.0 - Mobile Safari 6.0 - iPhone 3gs
7.1 - Mobile Safari 7.1 - iPhone 4
8.3 - Mobile Safari 8.0
9.2.1 - Mobile Safari 9.0 - iPhone 4s
11.2.5 - Mobile Safari 11.0
この男のリストは本当に便利です: http://www.somegeekintn.com/blog/stuff/iosvers/
追加情報が必要な場合は、useragentstring.comでSafariバージョンをデコードできます。例:
http://www.useragentstring.com/Safari5.0.2_id_18120.php は、Safariバージョン6533.18.5が「Safari 5.0.2」として知られていることを説明しています
包括的なリストも見つかりませんでした。私がこれまでに見つけた最高のことは、AppleからのSafariドキュメントです。
がんばろう!
[更新]
これはまだ質問に答えていませんが、少なくとも2009年2月にWebKitがgetBoundingClientRect()
のサポートを追加した時期を示しています。
デバイスまたはOSの検出を行うのではなく、機能の検出を行う必要があります-より豊富なエクスペリエンスを提供し、特定のバージョンがサポートしていない機能を追加するカスタムコードを提供できます。この方法では、ターゲットとする特定のデバイスを超えてサポート方法を提供します(通常、特定のユーザーエージェントのコードを分岐するのではなく、提供することで古いjs実装のサポートを埋め戻すため、通常は簡単になります)条件付きでの将来を見据えたサポート)。
たとえば、デスクトップとモバイルSafariの最新バージョンは、コンテキストをクロージャーにバインドする.bind()
機能を提供しません。これはFunction.prototype.bind
を使用して検出および処理でき、存在しない場合は、古いブラウザーに機能を提供する実装を提供します。 http://www.modernizr.com/ のようなライブラリを使用することは、この努力を大いに助けます。
IOSの特定のバージョンに関連付けられている特定のDOMイベントがいくつかあると言われています: http://developer.Apple.com/library/safari/navigation/#section=Libraries&topic=Safari%20DOM%20Additions%20for %20iOS
探している特定のAPIがある場合、caniuse.comは、APIがどの程度遡ってサポートされているかを知るための優れたリソースです。
頑張ってください!