js缓存问题怎么解决

JavaScript021

js缓存问题怎么解决,第1张

面对的缓存问题有两个:一是页面引入的JS文件缓存。二是JS请求后台的缓存。对于第一种情况,有两种处理方式:

1、可以在页面引入的JS文件后面增加日趋,如果不经常改动的文件,可以在每次改动后修改后缀。

2、对于第二种情况,一般的处理方式是在请求的路径后面加上毫秒值,这样每次请求的路径都不一样,但是对于后台来说都是一样的,用来欺骗浏览器,进行实时请求,不调用浏览器缓存。

angular默认的模板加载都会被缓存起来,使用的缓存服务是$tempalteCache,发送模板请求的服务是$templateRequest,可以有两种方案:

1.每次发送$http请求模板完成后,调用$tempalteCache.remove(url)或removeAll清除所有模板缓存;

2.使用$provide.decorator改写原生的$templateRequest,禁掉缓存,$templateRequest的源码,可以看到它默认使用$tempalteCache作为缓存,可以去掉它。