<1> 我们都知道,浏览器会缓存一些文件,作为下载加载页面使用。但是在某些情况下,我们并不希望如此。比如,开发网站时,需要更新某个js文件,而浏览器是默认缓存了这些js文件,用户端必须手动清理缓存,删除已经缓存的文件,才会下载新的文件,我们的新功能才会起作用。
<2>基于以上原因,我们需要在页面的js(css也一样)引用时,增加随机数,以防止缓存。(增加随机数只是为了防止缓存,类似post请求中添加时间戳,事实上,引用的文件路径仅到 .js 添加的随机数在引用的路径中并不起作用)
(1)js中
document.write("<script type='text/javascript' src='/content/jsFileName.js?random=" + Math.random() + "'><\/script>");
在这里的随机数,不只是math.random,也可以使用GUID、时间戳等。需要注意的是,script的闭合标签 需要 \ 以防转义。
(2)css中
document.write("<link rel='stylesheet' href='./cssFileName.css?random="+Math.random()+"'>");
<3> 根据经验,目前并没有成功在直接引用的时候进行拼接random。以上两种方式都是在script中 使用document.write的方式,进行引用。