在我正在处理的iPad项目中,我在应用程序内部有一个UIWebView
,它显示一个链接到.css文件的.html文件,即
<link rel="stylesheet" href="style.css" type="text/css">
这些文件存储在iPad本地,但是从远程服务器获取。我注意到UIWebView
或多或少地无限期地缓存.css文件,并且每当我更改它时都拒绝加载新文件。我曾经改变了文件的名称只是为了让它重置,但从长远来看这是不可接受的。
有没有办法阻止在UIWebView
中缓存CSS文件?或者甚至更好,有没有办法说什么时候缓存,什么时候不去?
答案 0 :(得分:16)
是
将您的行更改为:
<link rel="stylesheet" href="style.css?version=1" type="text/css">
每次更新样式表时,请更改版本。由于查询字符串,浏览器会认为它是一个不同的页面,您的服务器将忽略它。
如果您使用的是服务器端语言(如PHP),您还可以执行以下操作:
<link rel="stylesheet" href="style.css?version=<?php echo time(); ?>" type="text/css">
每次刷新时都会更改版本,从而停止所有缓存。
答案 1 :(得分:1)
保持HTML标记和iOS代码隔离的更好方法是
[[NSURLCache sharedURLCache] removeCachedResponseForRequest:yourRequest];