通过附加时间戳或版本防止Javascript缓存

通过附加时间戳或版本防止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

我想在javascript文件(大量的js和css文件)源路径的末尾添加一个随机数或时间戳,以便每次重新加载页面时都应该下载一个新副本

对于js和css文件列表,下面的代码不适用于js和css文件列表

<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)的内容