Maison > Questions et réponses > le corps du texte
<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(),但貌似不行。
PHP中文网2017-04-10 14:47:18
要么用工具干这件事,比如 grunt-timestamp, grunt-replace 之类的插件打时间戳。实际上扫一眼这些插件,把时间戳结果换成 Math.random()
即可。
要么这么干:
// 伪代码
var url = 'js/modal.js?' + Math.random();
var script = document.getElementsByTagName('script')[0];
script.src = url;
第二个办法真的实践起来本身就有很多问题,更别谈维护问题了。
以上是思路。。。最终结果是改静态资源文件路径,想办法搞定这件事就行了。
大家讲道理2017-04-10 14:47:18
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()
还是推荐你直接用时间戳比较好。