tutorial open example crear iphone css caching uiwebview

iphone - open - uiwebview tutorial



Evite el almacenamiento en caché de archivos.css en UIWebView cargado desde el disco (2)

En el proyecto de iPad en el que estoy trabajando, tengo un UIWebView dentro de la aplicación que muestra un archivo .html que enlaza con un archivo .css, es decir,

<link rel="stylesheet" href="style.css" type="text/css">

Estos archivos se almacenan localmente en el iPad pero se obtienen de un servidor remoto. Me di cuenta de que UIWebView almacena en caché el archivo UIWebView más o menos indefinidamente, y se niega a cargar el nuevo archivo cada vez que lo cambio. Una vez cambié el nombre del archivo solo para restablecerlo, pero eso es inaceptable a la larga.

¿Hay alguna manera de evitar el almacenamiento en caché del archivo CSS en un UIWebView ? O mejor aún, ¿hay alguna manera de decir cuándo almacenar en caché y cuándo no?


Sí.

Cambia tu línea a esto:

<link rel="stylesheet" href="style.css?version=1" type="text/css">

Cada vez que actualice la hoja de estilo, cambie la versión. El navegador pensará que es una página diferente debido a la cadena de consulta, y su servidor la ignorará.

Si está utilizando un lenguaje del lado del servidor como PHP, también puede hacer lo siguiente:

<link rel="stylesheet" href="style.css?version=<?php echo time(); ?>" type="text/css">

Esto cambiará la versión cada vez que actualice, deteniendo así todo el almacenamiento en caché.


La mejor manera de mantener el marcado HTML y el código iOS aislado es

[[NSURLCache sharedURLCache] removeCachedResponseForRequest:yourRequest];