ASP.NET 4.0
如果我在页面中更新了.js文件,但客户端的浏览器似乎没有下载新的.js文件(由于浏览器缓存?)。有哪些因素会影响旧的.js文件仍留在客户端电脑上?有没有办法强制客户端下载新的.js文件?
编辑: 我还有一个问题——浏览器会将.js缓存保留多长时间?这是否受客户端浏览器设置的控制?
ASP.NET 4.0
如果我在页面中更新了.js文件,但客户端的浏览器似乎没有下载新的.js文件(由于浏览器缓存?)。有哪些因素会影响旧的.js文件仍留在客户端电脑上?有没有办法强制客户端下载新的.js文件?
编辑: 我还有一个问题——浏览器会将.js缓存保留多长时间?这是否受客户端浏览器设置的控制?
好的,您的生产文件不应频繁更改,尝试在文件名中加入版本号,例如jQuery,新版本会生成一个新的文件名,就像这样:
/myfile.1.0.0.js
to:
/myfile.1.0.1.js
让浏览器重新下载文件的简单方法是在url上添加查询字符串。
/myfile.js?v=1
<script type="text/javascript" src="/myfile.js?modified=XXXXX">
</script>
其中XXXX是在每个页面呈现时以编程方式设置为myfile.js的DateModified信息的刻度。因此,每当此文件被修改时,输出脚本的链接会自动更改为新值,并强制浏览器重新下载它。
例如,如果我有一个funcs.js文件,则呈现的输出将类似于:
<script type="text/javascript" src="/funcs.js?modified=43253452352342">
</script>
后来,如果文件被更改,则呈现将会变成类似于:
<script type="text/javascript" src="/funcs.js?modified=43253456789678">
</script>
修改后的修改过的查询参数将强制浏览器重新下载文件