html缓存js文件
‘壹’ 【浏览器缓存问题】HTML静态文件中,css和js可以添加版本号来刷新缓存,但是只是修改的文字了呢
给网址后面添加一个随机数(或者是任意的字符串)即可,比如原来的网址是这样的:
http....../.../1.htm
改为
http....../.../1.htm?1234
即可(注意问号不能省)。
浏览器是根据网址来缓存的,所以只要给网址接个尾巴,浏览器就会认为是新网址,就会从网上重新下载数据了。当然,如果下次再次改变了网页内容,这个尾巴就要再次修改。
给css和js添加所谓版本号其实也是同一个原理。这个版本号其实就是给css和js的网址接个尾巴而已。
这个也同样适用网页里面的图片、音乐等资源,事实上只要是http协议的元素都可以利用这个办法来避开缓存实时刷新。
‘贰’ html5的manifest缓存如何用js更新
用window.applicationCache.update()更新
自动更新:浏览器除了在第一次访问 Web 应用时缓存资源外,只会在 cache manifest 文件本身发生变李神瞎化(即使是注释变化)时更新缓存瞎磨。而 cache manifest 中的资源文件发生变化并不会触发更新
手动更新:开发者也可以使用 window.applicationCache 的接口更新缓存。方法是检测 window.applicationCache.status 的值,如果是 UPDATEREADY,那么可哪空以调用 window.applicationCache.update() 更新缓存。示范代码如下。
if(window.applicationCache.status==window.applicationCache.UPDATEREADY){
window.applicationCache.update();
}
‘叁’ js文件缓存之版本管理详解
近几个月来的工作是一个交易系统持续改进项目 迭代发布周期大约为 ~ 周 最近一次迭代是V 版 在礼拜三完成发布 不幸的是 第二天上午就被老大逮过去 原来老大从生产中揪出了一个bug 大致的问题如下
系统中有一个常用的自定义控件 目的是协助选择客户 而V 版的持续改进需求是给控纳亮件增加两个筛选选项 支持不同的默认值配置 很简单的一个需 求 代码修改也简单 其中一个修改是给一个js文件里边的一个函数增加了一个传入参数 用来传递配置值 经过RC R测试 一切都显得很正常 不过上 了生产才被发现bug了 加载出来的客户明显不正常 数目不对 也与预期的查询配置不相符
判茄森检查控件内部跳转链接 发现问题 传递的参数明显与预期不符 而这个链接则是由上面修改过的JS函数生成 因此判定问题是由于客户端缓存了原版JS 文件 新函数的调用由旧函数所替换引发的 经过清除缓存 重新加载页面后 这个自定义控件能够正常工作 很不幸的是 我们是不能通过打电话告诉每一位用 户 你需要清除缓存 然后才能正常使用这个功能
掘亩到此时 我才意识到需要一种方法来控件JS的缓存问题 否则 后续任何涉及JS文件内容的修改 都会因为缓存无法获取最新JS文件 而导致生产事故
原则上 我们是需要在有JS更新的时候 才会去重新加载JS文件 而不是每次都重新加载 因此第一种做法给JS应用地址后添加随机参数是不可取的 因为它意味着 几乎每次加载页面都会是重新加载JS 而不会合理的利用缓存JS 但是 我们还有第二种更合理的做法 如果关注过一些国外网站代码 会发现 他们通常是在js链接后添加一个版本号参数 而不是随机数 当js代码发生修改时 只需要将版本号加 就可以很巧妙的解决通知客户端更新js文件 不知道 谁是第一个想到这种方法的人 不过毫无疑问 他是值得我们钦佩的 真是一个不错的idea的!
lishixin/Article/program/java/JSP/201311/20638
‘肆’ js文件改变之后浏览器缓存问题怎么解决
办法①改完js文件后,在js路径后加一个参数,每次改完js文件后,参数改变一下,如src="js路径?v=1.1"改成src="js路径?v=1.2";
办法②在src里的路径加系统时间参数:t=system_time(),即src="js路径?t=system_time()"
‘伍’ js文件缓存到本地
对js文件进行hash,每次客户端请求的时候取回hash,如果缓存的js的hashcode与取回的hashcode不一致,则重新download脚本文件,否则不用。
‘陆’ js文件缓存到本地
对js文件进行hash,每次客户端请求的时候取回hash,如果缓存的js的hashcode与取回的hashcode不一致,则重新download脚本文件,否则不用。
‘柒’ js缓存问题怎么解决
有时候在更改js文件后,页面并没有及时显示出来,可能由于修改的文件不对,或者存在缓存问题。
面对的缓存问题有两个:
一是页面引入的js文件缓存。
二是js请求后台的缓存。
解决方法:
对于第一种情况,有两种处理方式:1、可以在页面引入的js文件后面增加日趋,如果不经常改动的文件,可以在每次改动后修改后缀。<script type="text/javascript" src="scripts/jquery-1.5.2.min.js?version=1"></script>
2、修改js文件的名字,如<script type="text/javascript" src="scripts/jquery.js"></script>
对于第二种情况,一般的处理方式是在请求的路径后面加上毫秒值,这样每次请求的路径都不一样,但是对于后台来说都是一样的,用来欺骗浏览器,进行实时请求,不调用浏览器缓存。
‘捌’ 浏览器缓存css js文件在哪
在浏览器的cache里,谷歌开发者工具f12 network里如果status的状态是304的,那么就是读取缓存的。
‘玖’ js如何获取缓存
1、创建一个cache.js文件,前端页面,定义那些数据需要一次性拿到前端缓存,定义一个对象来保存这些数据。
‘拾’ 浏览器缓存的javascript文件在哪
C:\Documents and Settings\Administrator\Local Settings\Temporary Internet Files c盘缓存目录