防止从磁盘加载的UIWebView中缓存.css文件

Kal*_*lle 9 css iphone caching uiwebview

在我正在研究的iPad项目中,我有一个UIWebView应用程序内部显示.html文件,该文件链接到.css文件,即

<link rel="stylesheet" href="style.css" type="text/css">
Run Code Online (Sandbox Code Playgroud)

这些文件存储在iPad本地,但是从远程服务器获取.我注意到UIWebView无限期地缓存.css文件,并且每当我更改它时都拒绝加载新文件.我曾经改变了文件的名称只是为了让它重置,但从长远来看这是不可接受的.

有没有办法防止缓存CSS文件UIWebView?或者甚至更好,有没有办法说什么时候缓存,什么时候不?

riw*_*alk 16

是.

将您的行更改为:

<link rel="stylesheet" href="style.css?version=1" type="text/css">
Run Code Online (Sandbox Code Playgroud)

每次更新样式表时,请更改版本.由于查询字符串,浏览器会认为它是一个不同的页面,您的服务器将忽略它.

如果您使用的是服务器端语言(如PHP),则还可以执行以下操作:

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

这将在每次刷新时更改版本,从而停止所有缓存.

  • iPad上的本地文件没有服务器端语言 - 只有HTML,CSS和JavaScript.@Kelle,您可以使用来自Objective-C的@ Stargazer712的时间建议.这样的事情:`[htmlString stringByReplacingOccurrencesOfString:@"style.css"withString:[NSString stringWithFormat:@"style.css?time =%@",[[NSDate date] description]]` (4认同)