Skip to main content

Chrome 85 removes AppCache support by default. Most developers should migrate from AppCache now and wait no longer.


Updated

Tracking previous announcements, support for AppCache it will be removed from Chrome and other Chromium-based browsers. We encourage developers to migrate from AppCache now, rather than wait any longer.

Empleados de servicios, which are widely compatible with current browsers, offer an alternative to the offline experience that AppCache offered. See Migration strategies.

Chronology

Recent changes 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.

This timeline applies to Chrome in all platforms other than 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.

Proof of origin

The timeline lists two upcoming milestones for removal. Starting with Chrome 85, AppCache will no longer be available in Chrome by default. Developers who need additional time to migrate out of AppCache can Sign up for a "reverse" essay of origin 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. Request a token by your origin.
  2. Add the token to your HTML pages. exist two ways To do that:

    • Add a origin-trial etiqueta al encabezado de cada página. A modo de ejemplo:

    • Alternatively, configure your server to return responses containing Origin-Trial HTTP header. The resulting response header should look like this: Origin-Trial: TOKEN_GOES_HERE

  3. Add the same token to your AppCache manifests. Do this through a new field in your manifest, in the format:

    ORIGIN-TRIAL:
    TOKEN_GOES_HERE

    (There must be a new line between ORIGIN-TRIAL and your file.)

The token of a manifest has to be in a 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.

You can see an embedded sample project below that demonstrates how to add the correct source test tokens in both index.html and manifest.appcache files.

Why are tokens needed in various places?

the test token of the same origin requiere estar asociado con:

  • All your HTML pages que utilizan AppCache.
  • All your AppCache manifests through him ORIGIN-TRIAL manifest field.

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 methods and events. Pages without a token will also not be able to load resources from AppCache. Starting with Chrome 85, they will behave as if AppCache does not exist.

Adding the proof of origin token to your AppCache manifests indicates that each manifest is still valid. Starting with Chrome 85, any manifest that does not have a ORIGIN-TRIAL The field will be treated as incorrect and the manifest rules will be ignored.

Time and logistics of implementation of proof of origin

Aunque la prueba de origen «inverso» comienza oficialmente con Chrome 84, puedes Sign up for proof of origin today and add the tokens to your HTML and AppCache manifests. As your web app audience gradually updates to Chrome 84, the tokens you have already added will take effect.

Once you've added a token to your AppCache manifest, visit chrome://appcache-internals to confirm that your local instance of Chrome (version 84 or later) has successfully associated the proof of origin token with the cached entries in your manifest. If your proof of origin is recognized, you should see a field with Token Expires: Tue Apr 06 2021 ... on that page, associated with your manifest:

appcache-token-9650965

Test before removal

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 flag para simular su eliminación. Esta bandera se encuentra disponible a partir de Chrome 84.

Migration strategies

Empleados de servicios, que son widely compatible with current browsers, offer an alternative to the offline experience provided by AppCache.

We have provided a 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 interface or related AppCache events.

For more complex cases, libraries like Workbox 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

As you work on your migration strategy, keep in mind that Chrome will disable the AppCache functionality on any page that loads under the control 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 unsubscribe 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.

The multiplatform story

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 on all platforms

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 on iOS and macOS

Safari obsolete AppCache in early 2018.

Chrome on 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 AppCache availability in Chrome for iOS. Tenga esto en cuenta si sabe que su aplicación web dispone de una audiencia significativa de Chrome para iOS.

Android WebViews

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.

Learn more

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

Posts

Tools

Getting help

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

You can ask a general question about migration out of AppCache at Stack overflow, utilizando la etiqueta html5-appcache.

If you encounter an error related to removing AppCache from Chrome, please report it usando el rastreador de problemas de Chromium.

Hero image based on Smithsonian Institution Archives, Acc. 11-007, Box 020, Image No. MNH-4477.

R Marketing Digital