如何防止js和css缓存

JavaScript012

如何防止js和css缓存,第1张

解决办法一:每次修改js或css文件后,都要手工修改那个版本号,注意:是每修改一次(哪怕仅仅是改了一个字符)都要修改版本号;

解决办法二:如果嫌手工修改太麻烦,那可以通过程序来自动修改(用随机数做版本号)。如果你的网站是动态的,那可以通过后台程序来改,比如ASP的:

<link rel="stylesheet" href="static/mimi/css/main.css?v=<%=rnd()%>" type="text/css"/>

PHP的:

<link rel="stylesheet" href="static/mimi/css/main.css?v=<?php echo mt_rand()?>" type="text/css"/>

如果是静态网站那就要js脚本来实现了,这个稍微麻烦点,这里就不说了。

其实上述方法一和方法二的目的都是为了使每次打开的js或css的url不同,这样浏览器就不会去缓存区取数据,而是直接到网站下载。

如果上述方法仍然无效,那就是你的浏览器的缓存机制存在问题,比如“从不检查网页的新版本,除非手动刷新”,这个就要你自己去设置了。

js跳转页面不缓存是meta方法。根据查询相关信息资料显示,浏览器缓存,需要浏览器缓存,浏览器缓存可以提高网站性能和浏览器速度,提高网站性能。清除缓存,是缓存可能误事,出现一些错误的数据。像股票类网站实时更新等,这样的网站是不要缓存的,网站很少更新,有缓存还是比较好的。

看到别人写的JS,ajax请求地址后加随机参数,比如XXXX?t=

+

new

Date().getTime()。

一开始搞不懂为什么,网上查了资料,原因是防止浏览器缓存。

浏览器为了提高用户访问同一页面的速度,会对页面数据进行缓存。当url请求地址不变时,

有时候会导致浏览器不发送请求,直接从缓存中读取之前的数据。

如果数据改变了,而没加随机数,读取的数据会跟之前一样。

加上随机数,就是欺骗浏览器url改变了,会每次都向服务器发送请求而不去读缓存