通过附加时间戳或版本防止Javascript缓存
我想在javascript文件(大量的js和css文件)源路径的末尾添加一个随机数或时间戳,以便每次重新加载页面时都应该下载一个新副本 对于js和css文件列表,下面的代码不适用于js和css文件列表通过附加时间戳或版本防止Javascript缓存,javascript,caching,Javascript,Caching,我想在javascript文件(大量的js和css文件)源路径的末尾添加一个随机数或时间戳,以便每次重新加载页面时都应该下载一个新副本 对于js和css文件列表,下面的代码不适用于js和css文件列表 <script type="text/javascript"> (function() { var randomh = Math.random(); var e = document.getElementsByTagNam
<script type="text/javascript">
(function() {
var randomh = Math.random();
var e = document.getElementsByTagName("script");
var d = document.createElement("script");
d.src = e.src+"?x=" + randomh + "";
d.type = "text/javascript";
d.async = true;
d.defer = true;
e.parentNode.insertBefore(d, e);
})();
</script>
(功能(){
var randomh=Math.random();
var e=document.getElementsByTagName(“脚本”);
var d=document.createElement(“脚本”);
d、 src=e.src+“?x=“+randomh+”;
d、 type=“text/javascript”;
d、 异步=真;
d、 延迟=真;
e、 parentNode.insertBefore(d,e);
})();
您是否可以访问类似PHP的内容,在这些内容的末尾可以附加一个rand()。或者任何类似RequireJS或AngularJS的东西-我看到的唯一其他选项是创建一个文件名数组并在页面加载时循环,但是你会遇到CSS、JavaScript和dom渲染的问题。我使用AngularJS,有一个名为grunt cache control的grunt插件,它也会这样做,追加版本号但这里的问题是它通过查看index.html(Angularjs)中的脚本和链接标记来追加,我正在使用惰性加载加载文件加载我的控制器,如何在config.lazyload中的js文件中添加版本粘贴完整代码,包括lazyload部分。您可以只添加类似于var Math.floor((Math.random()*500)+1)的内容代码>