2014年4月20日 星期日

JavaScript or CSS no cache

http://blog.xuite.net/sunnysoap/r/65138622-JavaScript+or+CSS+no+cache

JavaScript or CSS no cache
<script type="text/javascript" src="A.js"></script>
<link type="text/css" rel="stylesheet" href="A.css" >

加上版本編號,因每次不同,就會重新載入
 <script type="text/javascript" src="A.js?v=545"></script>
<link type="text/css" rel="stylesheet" href="A.css?v=485" >

一般而言 v 的變數,都由Server指定(使用asp.net , php...等) 
若我要由JavaScript 給予...應如何做?

<html>
<head><title>JS & CSS no cache</title>

<script type="text/javascript">
    //css
    var v = new Date().getMilliseconds(); //毫秒(這樣每次都不同)
    var cssURL = "A.css?v=" + v;
    window.document.write("<link rel='stylesheet' type='text/css' href='" + cssURL + "' />");

    //js
    var js = document.createElement("script");
    document.getElementsByTagName("head")[0].appendChild(js);
    js.src = "A.js?v=" + v;   
</script>

</head>
<body>
<h1>h1</h1>
</body>
</html>

參考資料: 
簡易克服 CSS 被瀏覽器快取(Cache)的問題 
http://blog.miniasp.com/post/2008/02/03/Avoid-browser-cache-problem-on-css-or-javascript-file.aspx 

動態引入的外部 JS 文件 
http://www.w3help.org/zh-cn/causes/BX9013

沒有留言:

張貼留言