<link rel="stylesheet" type="text/css" href="css/ratchet.css?"> <link href="css/app.css?" rel="stylesheet"> <script src="js/modal.js?"></script> 我希望在“?”后面加Math.random(),但貌似不行。
人生最曼妙的风景,竟是内心的淡定与从容!
要么用工具干这件事,比如 grunt-timestamp, grunt-replace 之类的插件打时间戳。实际上扫一眼这些插件,把时间戳结果换成 Math.random() 即可。
Math.random()
要么这么干:
// 伪代码 var url = 'js/modal.js?' + Math.random(); var script = document.getElementsByTagName('script')[0]; script.src = url;
第二个办法真的实践起来本身就有很多问题,更别谈维护问题了。
以上是思路。。。最终结果是改静态资源文件路径,想办法搞定这件事就行了。
new loadSource("js/modal.js"); new loadSource("css/app.css"); function loadSource(src){ this.src = src; var type = src.split(".").pop(); loadSource.prototype.loadJS = loadSource.prototype.loadjs = function() { var s = document.createElement('script'); s.src = this.src+"?"+Math.random(); s.async = true; document.head.appendChild(s); } loadSource.prototype.loadCSS = loadSource.prototype.loadcss = function() { var c = document.createElement('link'); c.rel = 'stylesheet'; c.href = src+"?"+Math.random(); document.head.appendChild(c); } if(this["load"+type]) this["load"+type](); }
大概的代码就是这样,手打的可能有些错误,不过比起Math.random()还是推荐你直接用时间戳比较好。
要么用工具干这件事,比如 grunt-timestamp, grunt-replace 之类的插件打时间戳。实际上扫一眼这些插件,把时间戳结果换成
Math.random()
即可。要么这么干:
第二个办法真的实践起来本身就有很多问题,更别谈维护问题了。
以上是思路。。。最终结果是改静态资源文件路径,想办法搞定这件事就行了。
大概的代码就是这样,手打的可能有些错误,不过比起
Math.random()
还是推荐你直接用时间戳比较好。