Saltar al contenido principal

Chrome 85 elimina la compatibilidad con AppCache de forma predeterminada. La mayoría de los desarrolladores deberían migrar de AppCache ahora y no esperar más.


Actualizado

Seguimiento de anuncios anteriores, apoyo para AppCache se eliminará de Chrome y otros navegadores basados ​​en Chromium. Alentamos a los desarrolladores a migrar de AppCache ahora, en lugar de esperar más.

Empleados de servicios, que son ampliamente compatibles con los navegadores actuales, ofrecen una alternativa a la experiencia sin conexión que ofrecía AppCache. Consulte Estrategias de migración.

Cronología

Cambios recientes al calendario de lanzamiento de Chrome significa que el tiempo de algunos de estos pasos puede variar. Intentaremos mantener esta línea de tiempo actualizada, pero en este punto, migre fuera de AppCache lo antes factible, en lugar de esperar hitos específicos.

Todavía existe una función «obsoleta», pero registra mensajes de advertencia que desalientan su uso. Una función «borrada» ya no existe en el navegador.

igraal_es-es

Esta línea de tiempo se aplica a Chrome en todas las plataformas que no sean iOS. Además hay una línea de tiempo adaptada para AppCache utilizada dentro de un Android WebView. Para conseguir más información, consulte La historia multiplataforma más adelante en esta publicación.

Prueba de origen

La línea de tiempo enumera dos próximos hitos para su eliminación. A partir de Chrome 85, AppCache ya no estará disponible en Chrome de forma predeterminada. Los desarrolladores que necesiten tiempo adicional para migrar fuera de AppCache pueden Regístrate para un «reverso» ensayo de origen para ampliar la disponibilidad de AppCache para sus aplicaciones web. La prueba de origen comenzará en Chrome 84 (antes de la eliminación predeterminada en Chrome 85) y estará activa a través de Chrome 89. A partir de Chrome 90, AppCache se eliminará por completo para todos, inclusive aquellos que se hayan registrado para el origen. juicio.

¿Por qué llamamos a esto un ensayo de origen «inverso»? Regularmente, una prueba de origen posibilita a los desarrolladores decantarse por el acceso temprano a la nueva funcionalidad antes de que se envíe de forma predeterminada en Chrome. En esta circunstancia, permitimos a los desarrolladores decantarse por usar tecnología heredada inclusive posteriormente de que se haya eliminado de Chrome, pero solo temporalmente.

Para formar parte en el ensayo de origen «inverso»:

  1. Solicita un token por tu origen.
  2. Agregue el token a sus páginas HTML. Existen dos caminos Para hacer eso:

    • Agregar un origin-trial <meta> etiqueta al encabezado de cada página. A modo de ejemplo: <meta http-equiv="origin-trial" content="TOKEN_GOES_HERE">

    • Alternativamente, configure su servidor para devolver respuestas que contengan Origin-Trial Encabezado HTTP. El encabezado de respuesta resultante debería verse así: Origin-Trial: TOKEN_GOES_HERE

  3. Agregue el mismo token a sus manifiestos de AppCache. Haga esto a través de un nuevo campo en su manifiesto, con el formato:

    ORIGIN-TRIAL:
    TOKEN_GOES_HERE

    (Debe haber una nueva línea entre ORIGIN-TRIAL y tu ficha.)

El token de un manifiesto debe estar en un ORIGIN-TRIAL campo del propio manifiesto. A diferencia del token de una página HTML, no se puede proporcionar a través de un encabezado HTTP.

Puede ver un proyecto de muestra incrustado a continuación que demuestra cómo agregar los tokens de prueba de origen correctos en ambos index.html y manifest.appcache archivos.

¿Por qué se necesitan tokens en varios lugares?

los token de prueba del mismo origen requiere estar asociado con:

  • Todas tus páginas HTML que utilizan AppCache.
  • Todos sus manifiestos de AppCache a través de el ORIGIN-TRIAL campo de manifiesto.

Si ha participado en pruebas de origen en el pasado, es factible que haya agregado el token solo a sus páginas HTML. La prueba de origen «inverso» de AppCache es especial debido a que además requiere asociar un token con cada uno de sus manifiestos de AppCache.

Agregar el token de prueba de origen a sus páginas HTML posibilita window.applicationCache interfaz desde sus aplicaciones web. Las páginas que no están relacionadas con un token no podrán utilizar window.applicationCache métodos y eventos. Las páginas sin un token tampoco podrán cargar recursos desde AppCache. A partir de Chrome 85, se comportarán como si AppCache no existiera.

Agregar el token de prueba de origen a sus manifiestos de AppCache indica que cada manifiesto sigue siendo válido. A partir de Chrome 85, cualquier manifiesto que no tenga un ORIGIN-TRIAL El campo se tratará como incorrecto y se ignorarán las reglas del manifiesto.

Tiempo y logística de implementación de prueba de origen

Aunque la prueba de origen «inverso» comienza oficialmente con Chrome 84, puedes Regístrate para la prueba de origen hoy y agregue los tokens a sus manifiestos HTML y AppCache. A medida que la audiencia de su aplicación web se actualice gradualmente a Chrome 84, los tokens que ya haya agregado entrarán en vigencia.

Una vez que haya agregado un token a su manifiesto de AppCache, visite chrome://appcache-internals para confirmar que su instancia local de Chrome (versión 84 o posterior) ha asociado correctamente el token de prueba de origen con las entradas en caché de su manifiesto. Si se reconoce su prueba de origen, debería ver un campo con Token Expires: Tue Apr 06 2021... en esa página, asociada con su manifiesto:

appcache-token-9650965

Prueba antes de la eliminación

Le sugerimos encarecidamente que migre fuera de AppCache tan pronto como sea factible. Si desea probar la eliminación de AppCache en sus aplicaciones web, use el chrome://flags/#app-cache bandera para simular su eliminación. Esta bandera se encuentra disponible a partir de Chrome 84.

Estrategias migratorias

Empleados de servicios, que son ampliamente compatible con los navegadores actuales, ofrecen una alternativa a la experiencia sin conexión proporcionada por AppCache.

Hemos proporcionado un polyfill que usa un empleado de servicio para replicar algunas de las funciones de AppCache, aún cuando no replica toda la interfaz de AppCache. En particular, no proporciona un reemplazo para el window.applicationCache interfaz o los eventos relacionados de AppCache.

Para casos más complejos, bibliotecas como Neceser de costura proporcionan una forma simple de crear un empleado de servicio moderno para su aplicación web.

Los empleados del servicio y AppCache son mutuamente excluyentes

Mientras trabaja en su estrategia de migración, tenga en cuenta que Chrome deshabilitará la funcionalidad AppCache en cualquier página que se cargue bajo el controlar de un empleado de servicios. Dicho de otra forma, tan pronto como implemente un service worker que controle una página determinada, ya no podrá utilizar AppCache en esa página.

Debido a esto, le sugerimos que no intente migrar a empleados de servicio pieza por pieza. Sería un error poner en práctica un empleado de servicio que solo contiene parte de su lógica de almacenamiento en caché. No puede recurrir a AppCache para «llenar los vacíos».

De manera equivalente, si implementa un empleado de servicio antes de la eliminación de AppCache y después descubre que requiere revertir a su implementación anterior de AppCache, debe asegurarse de que dar de baja ese trabajador de servicio. Siempre y cuando haya un empleado de servicio registrado en el alcance de una página determinada, no se utilizará AppCache.

La historia multiplataforma

Le sugerimos que haga un seguimiento con un proveedor de navegador específico si desea conseguir más información sobre sus planes para la eliminación de AppCache.

Firefox en todas las plataformas

Firefox obsoleto AppCache en la versión 44 (septiembre de 2015) y tiene remoto soporte para él en sus versiones Beta y Nightly a partir de septiembre de 2019.

Safari en iOS y macOS

Safari obsoleto AppCache a principios de 2018.

Chrome en iOS

Chrome para iOS es un caso especial, dado que usa un motor de navegador distinto al de Chrome en otras plataformas: el WKWebView. En este momento, los empleados del servicio no son compatibles con las aplicaciones de iOS que utilizan WKWebView, y el anuncio de eliminación de AppCache de Chrome no cubre la disponibilidad de AppCache en Chrome para iOS. Tenga esto en cuenta si sabe que su aplicación web dispone de una audiencia significativa de Chrome para iOS.

WebViews de Android

Algunos desarrolladores de aplicaciones de Android utilizan Chrome WebView para mostrar contenido web y además puede utilizar AppCache. A pesar de todo, no es factible habilitar una prueba de origen para WebView. A la luz de eso, Chrome WebView admitirá AppCache sin una prueba de origen hasta que se lleve a cabo la eliminación final, esperada en Chrome 90.

Aprende más

A continuación, se muestran algunos recursos para los desarrolladores que migran de AppCache a los empleados del servicio.

Posts

Herramientas

Obteniendo ayuda

Si tiene un obstáculo con una herramienta específica, abra un obstáculo en su repositorio de GitHub.

Puede hacer una pregunta general sobre la migración fuera de AppCache en Desbordamiento de pila, utilizando la etiqueta html5-appcache.

Si encuentra un error relacionado con la eliminación de AppCache de Chrome, por favor reportalo usando el rastreador de problemas de Chromium.

Imagen de héroe basada en Archivos de la Institución Smithsonian, Acc. 11-007, Box 020, Imagen No. MNH-4477.