web網站css,js更新後客戶瀏覽器緩衝問題,需要重新整理才能正常展示的解決辦法__c#

來源:互聯網
上載者:User

原文出處:http://blog.csdn.net/csdn100861/article/details/50684438

問題描述

最近將公司官網樣式進行了調整,部署到伺服器後訪問發現頁面展示不正常,但是重新整理之後就會展示正常。 問題分析

研究之後發現可能的原因有 css檔案過大,載入緩慢 本機快取問題,雖然伺服器修改了css檔案,但是瀏覽器仍然使用本機快取的css,

需要使用者多重新整理一次才能正常展示顯然是很不合理的,那麼怎麼樣解決更新後讓瀏覽器請求新的css或js檔案呢。 解決辦法 方法1 更新檔案後更改css/js檔案名稱。

其實解決這個問題很簡單,緩衝是通過檔案名稱標記緩衝的內容的。在你更新了網站的css檔案內容後,在更換一下css的檔案名稱就可以了。如原先html中的css調用語句如下:

<link rel="stylesheet" href="style.css" type="text/css"  media="screen"/>
1 1

改一下css檔案名稱:

<link rel="stylesheet" href="styleV2.css" type="text/css" media="screen"/>
1 1 方法2 給css/js檔案加個版本號碼

每次修改css檔案後還要修改css的檔案名稱有點麻煩,那麼我們可以在載入css語句中加入個版本號碼(即css連結中?後面的內容)就可以了。如原先html中的css調用語句如下:

<link rel="stylesheet" href="style.css?v=2015" type="text/css"  media="screen"/>
1 1

將css檔案的版本號碼改成新的:

<link rel="stylesheet" href="style.css?v=2016" type="text/css"  media="screen"/>
1 1 關於css/js檔案尾碼參數:

css檔案後面的問號起不到實際作用,僅能當作尾碼,如果用問號加參數的方法,可以添加版本號碼等資訊,更新的同時可以重新整理一下瀏覽器端的緩衝。一個小小的細節,可以給我們帶來很大的方便。 
比如:

<script type="text/javascript" src="homepage.js?version=1.2.6"></script>
1 1
<link rel="stylesheet" href="base.css?version=2.3.3" type="text/css"/>
1 1

使用參數的兩種作用:

用戶端會緩衝css或js檔案,因此每次升級了js或css檔案後,改變版本號碼,用戶端瀏覽器就會重新下載新的js或css檔案,起到重新整理緩衝的作用。

指令碼並不存在,而是服務端動態產生的,因此帶了個版本號碼,以示區別。 即上面代碼對於檔案來說 等價於 :

<script type="text/javascript" src="homepage.js"></script>
1 1
<link rel="stylesheet" href="base.css" type="text/css"/>
1 1

但瀏覽器會認為他是 該檔案的某個版本。

第一使用最多,也可能兩種作用同時使用。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.