今天被同事指出一個bug,就是在靜態文件中加時間戳是這樣:
<link rel="stylesheet" href="../css/main.css?v="+new Date().getTime()>
這種寫法當時也是在網上隨便搜索下找到的,自己也沒驗證,後面自己在瀏覽器上檢驗了下果真有問題,就是後面的時間戳沒有獲取到,主要是由於獲取時間戳的js代碼執行,當然不執行,由於js代碼在link中沒有執行環境,不是在script標籤內。所以後面改成如下方式:
時間戳:
<script>
document.write('<link href="../css/main.css?v=' + new Date().getTime() + '" rel="stylesheet" type="text/css"/>');
</script>
隨機數:
<script>
document.write('<link href="../css/main.css?v=' + Math.random() + '" rel="stylesheet" type="text/css"/>');
</script>
引入js文件也同樣如此
時間戳:
<script>
document.write('<script src="./index.js?' + new Date().getTime() + '"><\/script\>');
</script>
隨機數:
<script>
document.write('<script src="./index.js?' + Math.random() + '"><\/script\>');
</script>