2012-04-18 4 views
5

Estoy desarrollando una aplicación ASP.net.¿Puedo eliminar un archivo determinado de la memoria caché de Firefox?

Donde tengo que actualizar frecuentemente mi archivo CSS. No deseo actualizar la configuración de frecuencia del documento desde about:config en Firefox. Quiero dejarlo predeterminado.

Uso Firefox como navegador ideal. Si solo actualizo mi archivo CSS, tengo que borrar todo el caché de Firefox.

Quiero eliminar un archivo particular de la caché de Firefox. ¿Es esto posible en Firefox? Puedo eliminar una cookie en particular en Firefox. ¿No puedo eliminar un archivo particular de la memoria caché de Firefox?

Si no es posible, dígame cómo puedo hacer que mi archivo CSS siempre se compruebe (y solo se carga si se modifica) para una versión más nueva. No quiero cambiar la configuración de Firefox en ningún caso.

+0

quieres decir con código o usando Firefox? – Gerep

+0

@Gerep en ambos sentidos ... ?? – shashwat

+0

Entonces, ¿la respuesta es no? La respuesta aceptada no funcionará para iframes, y ninguna de las respuestas realmente responde la pregunta. – chiliNUT

Respuesta

2

Si mal no recuerdo, la combinación de teclas CTRL + F5 enclava la caché y los archivos css tienen que volver a cargarse.

1

Usar una ETag sería una buena opción. Al configurar el encabezado de máxima edad en las respuestas HTTP, puede permitir que el cliente almacene en caché el recurso durante un tiempo limitado. Después de ese tiempo, el cliente hará una solicitud GET condicional al servidor. Si el ETag (almacenado en el encabezado If-None-Match) en la solicitud no coincide con el ETag en el servidor, el recurso modificado se enviará al cliente. De lo contrario, el servidor responde con HTTP 304 Not Modified y el cliente puede almacenar en caché el contenido durante un tiempo limitado nuevamente. Este enfoque se puede usar para archivos particulares o para directorios.

+0

He subido tu respuesta. Pero creo que estos se pueden configurar a nivel de IIS, y en mi caso (alojamiento compartido), no tengo acceso a las configuraciones de IIS. Hay un alternativo para el mismo. – shashwat

1

Agregue una marca de tiempo de última actualización al archivo vinculado. Esto es lo que se vería en php

<link type="text/css" rel="stylesheet" href="css/style.css?lu=<?php echo filectime('css/style.css') ?>" /> 

Esto hará que el navegador para volver a cargar el archivo sólo cuando se actualiza el archivo.

0

Esto es posible a través de unas pocas líneas de texto (que se ejecutan en el navegador de la consola, Ctrl+Shift+J):

// load the disk cache 
var cacheservice = Components.classes["@mozilla.org/netwerk/cache-storage-service;1"] 
    .getService(Components.interfaces.nsICacheStorageService); 
var {LoadContextInfo} = Components.utils.import("resource://gre/modules/LoadContextInfo.jsm",{}) 
var hdcache = cacheservice.diskCacheStorage(LoadContextInfo.default, true); 

// compose the URL and submit it for dooming 
var uri = Components.classes["@mozilla.org/network/io-service;1"] 
    .getService(Components.interfaces.nsIIOService).newURI(prompt("Enter the URL to kick out:"), null, null); 
hdcache.asyncDoomURI(uri, null, null); 

Como siempre que se sepa la URL absoluta del archivo CSS, puede reemplazar prompt("Enter the URL to kick out:") con la URL

Adaptado de DoomEntry.js, confirmado para trabajar en la última versión de Firefox (Quantum) también.

Cuestiones relacionadas