summer dreamer

全新的 香港中文版 WordPress 網站!

Note

強制瀏覽器每次重新載入 CSS

web

當網站的 CSS 及 Javascript (.css 及 .js) 作出修改後,這些更新可能不會立即呈現及訪客,這是因為瀏覽器為了提高開啟網站的速度,會將 .js 及 .css 檔儲存在快取內,下次進入網站時不會重新載入所致。 如果在 PHP 的網頁,可以用以下方法,每次自動定義一個新的 GET 變數:

<link rel="stylesheet" type="text/css" href="style.css?version=<?php echo time(); ?>">

如果網頁不是用 PHP 開發,可以用 Javascript 來完成:

<script type="text/javascript" language="javascript">
    var versionUpdate = (new Date()).getTime();
    var script = document.createElement("script");
    script.type = "text/javascript";
    script.src = "/myProduct/scripts/myUpdates.js?v=" + versionUpdate;
    document.body.appendChild(script);
</script>

但這個加上 GET 變數的方法也是有缺點的,因為每次都會重新載入 CSS 及 JS, 對伺服器產生較多連線,以及訪客會用多一點時間載入網頁,所以最好只選擇一些較常改動的 CSS 及 JS 檔使用。

Comments are Closed

Theme by Anders Norén