如何讓前端瀏覽器不進行緩存


當瀏覽器要訪問一個某個資源時,瀏覽器會通過資源的URL來判斷是否讀取緩存中的內容。由於瀏覽器存在緩存,所以會導致服務器上的內容修改了,但是在瀏覽器卻顯示沒有變化。

為了解決這個問題,可以在每次請求的時候加一個隨機數參數或者時間戳。它的作用就是讓瀏覽器誤以為請求的是一個新鏈接,這樣瀏覽器就不會去讀取緩存里的內容。

代碼如下:

    <!DOCTYPE html>
    <html>
     
        <head>
            <meta charset="utf-8" />
            <!--設置過期時間設置0為直接過期並清除緩存-->
            <meta http-equiv="Expires" content="0">
            <!--設置不緩存頁面-->
            <meta http-equiv="Pragma" content="no-cache">
            <!--設置不修改消息存儲-->
            <meta http-equiv="Cache-control" content="no-cache">
            <!--同上-->
            <meta http-equiv="Cache" content="no-cache">
            <title>test</title>
        </head>
        <body>
            <div id="test">
            </div>
        </body>
        <script type="text/javascript">
            //js后綴加個時間戳每回更新都會改變,瀏覽器視其為新的js不會進行緩存
            document.write('<script type="text/javascript" src="js/test.js?time='+new Date().getTime()+'"><'+'/'+'script>');
            //css也同上
            document.write('<link rel="stylesheet" href="css/test.css?time=' + new Date().getTime() + '"/>');
        </script>
    </html>

弊端:因為緩存可以減少對服務器的直接訪問,減少服務器的壓力。瀏覽器不讀取緩存里的內容之后,每次都會訪問服務器,這樣就會增加服務器的壓力。
---------------------  
作者:Roger_CoderLife  
來源:CSDN  
原文:https://blog.csdn.net/Roger_CoderLife/article/details/83021360  
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM