很多网站中都会使用<script language="javascript" type="text/javascript" src="JS文件路径"></script>来包含要使用的JS的文件,使用JS与HTML代码分开,同样CSS样式也使用包含的方法,将样式文件引用到要使用的页面文件中,一般使用<link href="CSS样式表文件路径" rel="stylesheet" type="text/css" />,这些基本知识,做过网站的人都了解,这是最基础的知识。
不过今天我所要说的不是这些东西,而是关于样式表以及JS文件缓存的问题,CSS样式表以及JS文件都是属于客户端可以直接访问的文件,一般都会被缓存到浏览器的缓存中,以便下次再次访问,不需要从服务器再次加载,但是这同样给开发人员带来一个问题,就是当更新样式表,JS文件,或者图片文件时(文件名不变)浏览器会因为缓存导致页面没有变化。当然现在很多缓存的模式可以通过程序设置,也可以通过浏览器设置,现在是当浏览器有缓存的时候,不清除浏览器缓存如何让客户端自动更新文件呢?其实很简单,浏览器判断缓存的方式就是根据文件名以及参数来判断的,如果文件名和参数名相同则使用缓存不从服务器加载,所以只需要加文件名后加个随机参数就可 了,这个方法可以适合所有的页面缓存。
如原来的<link href="/index.css" rel="stylesheet" type="text/css" />可以改为<link href="/index.css?201307011200" rel="stylesheet" type="text/css" /> ?后面的就是参数,JS以及图片文件也可以用同样的方法,至于后面的随机参数怎么生成,可以根据你自己的方法来定,一般是使用随机数,或者当前的日期时间来做为参数。
不过今天我所要说的不是这些东西,而是关于样式表以及JS文件缓存的问题,CSS样式表以及JS文件都是属于客户端可以直接访问的文件,一般都会被缓存到浏览器的缓存中,以便下次再次访问,不需要从服务器再次加载,但是这同样给开发人员带来一个问题,就是当更新样式表,JS文件,或者图片文件时(文件名不变)浏览器会因为缓存导致页面没有变化。当然现在很多缓存的模式可以通过程序设置,也可以通过浏览器设置,现在是当浏览器有缓存的时候,不清除浏览器缓存如何让客户端自动更新文件呢?其实很简单,浏览器判断缓存的方式就是根据文件名以及参数来判断的,如果文件名和参数名相同则使用缓存不从服务器加载,所以只需要加文件名后加个随机参数就可 了,这个方法可以适合所有的页面缓存。
如原来的<link href="/index.css" rel="stylesheet" type="text/css" />可以改为<link href="/index.css?201307011200" rel="stylesheet" type="text/css" /> ?后面的就是参数,JS以及图片文件也可以用同样的方法,至于后面的随机参数怎么生成,可以根据你自己的方法来定,一般是使用随机数,或者当前的日期时间来做为参数。