如何防止js和css缓存

html-css012

如何防止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不同,这样浏览器就不会去缓存区取数据,而是直接到网站下载。

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

首次加载刷新是需要记录网站访问记录的,常用方法使用cookie记录和session记录。

cookie步骤如下:

第一步:javascript代码判断是否存在cookie记录值

第二步:如果有判断非第一次加载,如果没有就创建一个cookie记录值,以备下次加载判断。

cookie有存活周期,但是技术成本较低。

session记录技术成本较高,服务器压力增大。建议少用。