使浏览器自动重新加载cssjs文件的最好方法是什么?

html-css09

使浏览器自动重新加载cssjs文件的最好方法是什么?,第1张

auto-versioning的实现方案如下:首先,在httpd.conf或者.htaccess中开启urlrewrite规则RewriteEngine onRewriteRule ^(.*)\.[\d]+\.(css|js)$ $1.$2 [L]其中[L]表示如果该条规则匹配,将忽略其他规则。可参考这里The [L] flag causes mod_rewrite tostop processing the rule set. In mostcontexts, this means that if the rulematches, no further rules will beprocessed.接着,使用下面的PHP代码:function auto_version($file){if(strpos($file, '/') !== 0 || !file_exists($_SERVER['DOCUMENT_ROOT'] . $file))return $file$mtime = filemtime($_SERVER['DOCUMENT_ROOT'] . $file)return preg_replace('{\\.([^./]+)$}', ".$mtime.\$1", $file)}以后,诸如下面的代码:<link rel="stylesheet" href="/css/base.css" type="text/css" /改成:<link rel="stylesheet" href="<?=auto_version('/css/base.css')?" type="text/css" /\这样,你不需要再改动任何代码,用户将始终使用最新版本的文件,因为当文件版本变动时,url也会改变。其实该方法也适合其他类型的文件,不仅仅css、js

你的意思是这样吗:

如两个页面都连接同一个CSS文件

当一个页面打开后,这个CSS文件被加载到

临时文件夹

打开另一个页面后,这个CSS文件会不会再下载一次?

不会

除非你那页面设置不要缓存

解决方案:

请先清空缓存,然后刷新重试。清空缓存的方法是:

①打开IE浏览器点击“工具”-“Internet选项”;

②打开IE浏览器点击“工具”-“Internet选项”;

③点击“删除文件(F)”-在“删除所有脱机内容”前打勾,点击“确定”;

完成清理缓存处理后,请重新登录邮箱查看。