js缓存问题怎么解决

JavaScript07

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

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

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

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

1.

js使用history.back返回表单数据丢失的主要原因就是使用了session_start()的原因,该函数会强制当前页面不被缓存。 解决办法如下: 在你的 Session_start 函数后加入 header("Cache-control: private")注意在本行之前你的PHP程序不能有任何输出。

2.

还有基于session的解决方法,在session_start前加上 session_cache_limiter('nocache')// 清空表单 session_cache_limiter('private')//

因为IE的缓存,使得我们在填入相同的值的时候总是使用IE缓存,为了解决这个问题一般可以用一下方法:

1:在ajax或者dwr提交的url后面加时间戳。

例如

http_request.onreadystatechange = funcName(函数名)

http_request.open("GET", url, true)

比如url是test .jsp

那么我们在它后面加上?time=new Date()

即url=test.jsp?time=new Date()

2 :在url后面加一个随机数。

。。。。。。。。。

url=test.jsp?number=Math.random()

因为时间和随即数是提交一次变一次,所以每次提交的都不是相同的,他就会当做一个新的请求去执行了