Какая версия мобильного сафари поставляется с каждой версией iOS? - PullRequest
57 голосов
/ 25 декабря 2011

Я пытаюсь выяснить, какие API-интерфейсы Javascript я могу использовать для достижения поддержки Mobile Safari на iOS2.Я нигде не нашел список, который показывает, какая версия Mobile Safari поставляется с каждой новой версией iOS.Я ищу исчерпывающий список, который восходит к iOS2.

Спасибо!

[Редактировать: Да, я знаю и люблю обнаружение функций.Тем не менее, у меня есть набор целевых браузеров, которые мне нужно поддерживать, и мне просто нужно убедиться, что предоставленные мной запасные варианты охватывают мою целевую аудиторию и что мне не нужно предоставлять дополнительные запасные варианты, которые являются громоздкими взломами).]

Ответы [ 5 ]

88 голосов
/ 09 августа 2013

Так как это уже лучший хит в Google, мы должны начать список здесь. Я сделаю этот ответ в вики сообщества. Кстати, я вытащил их из строки агента пользователя устройства. Версия браузера зависит от версии 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
14 голосов
/ 03 декабря 2012

Список этого парня действительно полезен: http://www.somegeekintn.com/blog/stuff/iosvers/

Если вам нужна дополнительная информация, вы можете расшифровать версии Safari на useragentstring.com, например:

http://www.useragentstring.com/Safari5.0.2_id_18120.php объясняет, что Safari версия 6533.18.5 известна как «Safari 5.0.2»

3 голосов
/ 04 января 2012

Я тоже не смог найти исчерпывающий список.Лучшее, что я нашел на данный момент, это документация по Safari от Apple:

https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/OptimizingforSafarioniPhone/OptimizingforSafarioniPhone.html

Удачи!

[Обновление]

это все еще не отвечает на вопрос, который он по крайней мере говорит, когда WebKit добавил поддержку getBoundingClientRect() в феврале 2009 года.

http://trac.webkit.org/changeset/40837

2 голосов
/ 25 декабря 2011

Вместо того, чтобы обнаруживать устройство или операционную систему, вы должны выполнять обнаружение функций - это обеспечит гораздо более богатый опыт, и вы можете предоставить собственный код для добавления функциональности, которую не поддерживает конкретная версия.Таким образом, вы обеспечите поддержку, выходящую за рамки конкретных устройств, на которые вы ориентируетесь (и обычно это оказывается проще, поскольку вместо того, чтобы ветвить код для конкретного пользовательского агента, вы пополняете поддержку более старых реализаций js, предоставляяпрогнозная поддержка на условной основе).

Например, последняя версия Safari для настольных компьютеров и мобильных устройств не обеспечивает функциональность .bind() для привязки контекста к замыканию.Это может быть обнаружено и обработано с помощью Function.prototype.bind и, если оно не существует, обеспечивает реализацию, которая предоставляет функциональность для старых браузеров.Использование библиотеки, такой как http://www.modernizr.com/, очень поможет в этом деле.

При этом есть некоторые конкретные события DOM, которые связаны с определенными версиями iOS: http://developer.apple.com/library/safari/navigation/#section=Libraries&topic=Safari%20DOM%20Additions%20for%20iOS

0 голосов
/ 04 января 2012

Если есть определенные API, на которые вы смотрите, caniuse.com - отличный ресурс для выяснения того, как далеко API имеет поддержку.

Удачи с этим!

...