0

我在浏览器缓存方面遇到了一些问题。当css, js, image文件更改了内容但没有更改名称时,我们必须发送到浏览器以下载新文件并丢弃缓存文件。

只需按 F5 或类似的东西,新文件不会被更新。

有没有办法强制浏览器忘记缓存并下载新版本的文件?

4

1 回答 1

0

有些人有这个“问题”

这个这个页面给了我一个想法,我想分享它。:). 我的目录结构是这样的:

website/
   |- libs/
       |- css/
       |- js/
       |- imgs/
   |- system/
   |- site/
   |- .htacces
   |- index.php

因此,我们可以像这样使用该.htacces文件来“欺骗”浏览器:

RewriteRule ^libs\.v[0-9]{1,}(.*) libs/$1
RewriteRule ^(.*)\.v[0-9]{1,}\.css$ $1.css

并且,在html文件上使用这个:

<link rel="stylesheet" type="text/css" media="all" href="path/to/libs/css/style.v2.css" />
<script type="text/javascript" src="path/to/libs/js/javascripts.v1.js"></script>
<img src="path/to/libs/imgs/logo.v5.png" alt="Logo" />

或者

<link rel="stylesheet" type="text/css" media="all" href="path/to/libs.v1/css/style.css" />
<script type="text/javascript" src="path/to/libs.v1/js/javascripts.js"></script>
<img src="path/to/libs.v1/imgs/logo.png" alt="Logo" />

这对我来说很好..当我更改文件上的某些内容addchange之后的数字时.v.v1,.v2

原因:这个技巧让浏览器看到“ http://www.mydomain.com/libs/css/style.v1.css ”,然后......缓存/浏览器会认为这是一个新文件..;)

我希望对某人有所帮助..任何建议都将受到欢迎

于 2013-07-19T01:44:27.417 回答