如何解决前端开发中的缓存问题

JavaScript010

如何解决前端开发中的缓存问题,第1张

function loadFile(arr) {

let now = new Date()

let timestamp = "?t=" + now.getTime()

let head = document.getElementsByTagName("head")[0]

}

$(function(){

var js_arr=["alert.js","alert.css"]

loadFile(js_arr)

})现在的大多数浏览器都有缓存机制,目的是减少客户端的访问次数,减轻服务器的压力。但是在开发工程中或者是版本更新过程中,缓存机制的存在会使得程序版本已经更新,但是效果不能出现的状况,需要开发人员频繁的清除缓存,并不友好,特此总结以下几种方式(以谷歌为例),仅供参考,如有雷同,不甚荣幸。

1.对于开发者来说,只需要关闭浏览器缓存就可以了。步骤是:浏览器右键打开检查,找到network,下边有Disable cache选项,只要将其打勾即可

2.开发者可以关闭缓存,但是并不能要求所有用户都进行此类操作,此时可以在引用的文件之后拼接随机数或者日期都可以,浏览器就会认为是新的请求,而不会使用缓存中的文件,具体如下(只演示大概思路,具体使用,具体修改):

1.动态页面:index.asp?id=....

2.使用jquery,$.ajaxSetup({cache : false })

3.在html里的head标签中加

<meta http-equiv ="proma" content = "no-cache"/>

<meta http-equiv="cache-control" content="no cache" />

<meta http-equiv="expires" content="0" />

另外一种:

<html http-equiv="proma" content="no-cache"/>

<html http-equiv="content-type" content="no-cache , must-revalidate"/>

<http http-equiv="expires" content=" Wed , 26 Feb 1997 08:21:57 GMT"/>

另外 ,在提交信息时,总是出现旧的内容,此时就应该考虑是本地浏览器缓存的原因了。

清空临时缓存的方法:

<body onload ="javascript : document.yourFormName.reset()">