2012-08-22 21 views
10

¿Cómo borra/vacía la memoria caché WebView en una aplicación Cocoa?¿Cómo se limpia el caché WebView en Cocoa?

En particular, me gustaría borrar el caché de una hoja de estilos local.

he intentado lo siguiente en vano:

// Tried this before loadRequest 
[[NSURLCache sharedURLCache] removeAllCachedResponses]; 

// Also tried this before and after loadRequest 
[webView.mainFrame reloadFromOrigin]; 

Incluso la sustitución de la WebView por uno nuevo todavía utiliza la hoja de estilo en caché.

+0

Consulte esta discusión http://stackoverflow.com/a/5606703/1578508 – lukaswelte

+0

@lukaswelte No funcionó. – hpique

Respuesta

10

Las otras soluciones sugeridas no funcionó para la hoja de estilo local (aunque deben trabajar para los recursos remotos).

fin he conseguido resolver este a través de la resourceLoadDelegate, estableciendo explícitamente la política de caché:

- (NSURLRequest *)webView:(WebView *)sender resource:(id)identifier willSendRequest:(NSURLRequest *)request redirectResponse:(NSURLResponse *)redirectResponse fromDataSource:(WebDataSource *)dataSource { 
    request = [NSURLRequest requestWithURL:[request URL] cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:[request timeoutInterval]]; 
    return request; 
} 

cosas divertidas.

+0

sí genial, gracias por escribirlo – aneuryzm

+0

Esto no parece funcionar para mí. OSX 10.10.3. – mattsven

+0

Esto tampoco funcionó para mí en 10.12. La única solución que encontré hasta ahora fue incrustar la hoja de estilo local, en lugar de vincularla. – Brett

0

Tome un vistazo a NSURLCache Class Reference.

- (id)initWithMemoryCapacity:(NSUInteger)memoryCapacity diskCapacity:(NSUInteger)diskCapacity diskPath:(NSString *)path 
//set memoryCapacity and diskCapacity to 0 bytes and diskPath to nil 

NSURLCache *Cache = [[NSURLCache alloc] initWithMemoryCapacity:0 diskCapacity:0 diskPath:nil]; 
[NSURLCache setSharedURLCache:Cache]; 
+0

Interesante pero no parece funcionar. Aún se carga un caché de la hoja de estilo local. – hpique

Cuestiones relacionadas