technology pwa para cache javascript ios webkit mobile-safari

javascript - pwa - safari technology preview



¿Qué versión de safari móvil viene con cada versión de iOS? (5)

Estoy tratando de averiguar qué API de Javascript puedo usar para lograr la compatibilidad con Mobile Safari en iOS2. No he encontrado una lista en ningún lugar que muestre qué versión de Mobile Safari se envía con cada nueva versión de iOS. Estoy buscando una lista completa que se remonta a iOS2.

¡Gracias!

[Edición: Sí, sé y me encanta la detección de características. Sin embargo, tengo un conjunto de exploradores específicos que necesito admitir, y solo necesito verificar que las reservas que proporcioné cubran a mi público objetivo y que no necesito proporcionar reservas adicionales que sean incómodos.


En lugar de detectar el dispositivo o el sistema operativo, debe realizar la detección de características: proporcionará una experiencia mucho más rica y puede proporcionar un código personalizado para agregar una funcionalidad que la versión específica no admite. De esta manera, brindará soporte más allá de los dispositivos específicos a los que está apuntando (y generalmente termina siendo más fácil, ya que en lugar de bifurcar su código para un agente de usuario específico, está completando el respaldo para implementaciones de js anteriores al proporcionar apoyo a futuro con carácter condicional).

Por ejemplo, la última versión de Desktop y Mobile Safari no proporciona la funcionalidad .bind() para enlazar un contexto a un cierre. Esto puede ser detectado y manejado usando Function.prototype.bind y si no existe, proporciona una implementación que proporciona la funcionalidad a los navegadores más antiguos. El uso de una biblioteca como http://www.modernizr.com/ ayudará mucho en esta tarea.

Dicho esto, hay algunos eventos DOM específicos que están vinculados a ciertas versiones de iOS: http://developer.apple.com/library/safari/navigation/#section=Libraries&topic=Safari%20DOM%20Additions%20for%20iOS



No pude encontrar una lista completa tampoco. Lo mejor que he encontrado hasta ahora es la documentación de Safari de Apple:

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

¡Buena suerte!

[Actualizar]

Si bien esto todavía no responde a la pregunta, al menos dice cuándo WebKit agregó soporte para getBoundingClientRect() en febrero de 2009.

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


Si hay API específicas que está viendo, caniuse.com es un gran recurso para averiguar hasta qué punto la API tiene soporte.

¡Suerte con ello!


Ya que este es el principal éxito en Google, deberíamos comenzar una lista aquí. Haré de esta respuesta una wiki comunitaria. Por cierto, los estoy extrayendo de la cadena de agente de usuario del dispositivo. La versión del navegador depende de la versión de iOS, no del dispositivo. Pero cuando un teléfono no admite versiones de iOS más altas, aparece en la lista:

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