1. 程式人生 > >HTML中css和js連結版本號的用途

HTML中css和js連結版本號的用途

背景

在搜尋引擎中搜索關鍵字 .htaccess 快取,你可以搜尋到很多關於設定網站檔案快取的教程,通過設定可以將css、js等不太經常更新的檔案快取在瀏覽器端,這樣訪客每次訪問你的網站的時候,瀏覽器就可以從快取中獲取css、js等靜態檔案,而不必從你的伺服器再次下載讀取,這樣在一定程度上加快了網站的開啟速度,又可以節約一下你的伺服器流量。

問題

最近在修改更新我的 IT-Homer部落格 時,遇到了一個問題:本地更新了style.css後,不管怎麼更新CDN快取,還是Ctrl + F5 重新整理瀏覽器,部落格仍然載入的舊的style.css檔案。

現在問題來了,通過.htaccess設定的css、js快取都有一個過期時間,如果在訪客的瀏覽器中已經快取了css、js,在這些css、js快取未過期之前,瀏覽器只會從快取中讀取css和js,如果你在伺服器上修改了css和js,那麼這些更改在回頭客的瀏覽器中是不會有變化的,除非回頭客按了Ctrl + F5重新整理了你的網站頁面或者手動清空了瀏覽器的快取。一個網站的訪客成千上萬,回頭客也會有不少,你不可能在更新css後讓每個訪客都重新整理一下快取吧,那麼這個問題你會怎麼處理呢?

處理辦法

1. 更改css檔名

其實解決這個問題很簡單,快取是通過檔名(例如:style.css,style.min.css,style.min.v2.css等)標記快取內容的。在你更新了網站的css檔案內容後,在更換一下css的檔名就可以了。如原先html中的css呼叫語句如下:

<link rel=”stylesheet” href=“http://blog.ithomer.net/wp-content/themes/officefolders/style.css” type=”text/css” media=”screen” />

改一下css檔名就可以了:

<link rel=“stylesheet” href=”http://blog.ithomer.net/wp-content/themes/officefolders/

style.min.css” type=”text/css” media=”screen” />

另外一種從更改css檔名的方法是將版本號寫到檔名中,如:

<link rel=”stylesheet” href=”http://blog.ithomer.net/wp-content/themes/officefolders/style.min.v1.0.0.css” type=”text/css” media=”screen”/>

css檔案更新後,改一下檔名中的版本號即可:

<link rel=”stylesheet” href=”http://blog.ithomer.net/wp-content/themes/officefolders/

style.min.v1.0.1.css” type=”text/css” media=”screen”/>

2. 給css檔案加個版本號

其實每次修改css檔案後還要修改css的檔名有點麻煩,那麼我們可以在載入css語句中加入個版本號(即css連結中?後面的內容)就可以了,由瀏覽器自動去比較css,js連結後面的版本號大小,來自動更新客戶端最新的css,js等靜態檔案。

例如原先html中的css呼叫語句如下:

<link rel=”stylesheet” href=“http://blog.ithomer.net/wp-content/themes/officefolders/style.min.css?ver=1.0.0”type=”text/css” media=”screen”/>

改一下css檔案的版本號改成2012就可以了:

<link rel=”stylesheet” href=“http://blog.ithomer.net/wp-content/themes/officefolders/style.min.css?ver=1.0.1”type=”text/css” media=”screen”/>

總結

其實css,js檔案後面的問號不起實際作用,僅能當作字尾,讓瀏覽器自動檢測更新最新的css,js等靜態檔案。如果用問號加引數的方法,可以新增版本號等資訊,同時可以重新整理一下瀏覽器端的快取。一個小小的細節,可以給我們帶來很大的方便。

相關推薦

HTMLcssjs連結版本用途

背景在搜尋引擎中搜索關鍵字 .htaccess 快取,你可以搜尋到很多關於設定網站檔案快取的教程,通過設定可以將css、js等不太經常更新的檔案快取在瀏覽器端,這樣訪客每次訪問你的網站的時候,瀏覽器就可以從快取中獲取css、js等靜態檔案,而不必從你的伺服器再次下載讀取,這樣

htmlcssjs註釋的規範用法

ont alt 推薦 pan 文件 strong 服務 可用 如何 成為專業的前端工程師!!! html註釋: <!--註釋內容--> css註釋: //註釋內容 單行註釋(不推薦使用,因為有的瀏覽器可能不兼容,沒有效果)/*註釋內容*/ 多

htmlcssjs原生寫一個模態彈出框,順便解決父元素半透明子元素不透明效果

script javascrip z-index htm index 彈出 rgb 特性 radi 模態框: html部分: <!-- 按鈕 --> <button id="box" onclick="pop_box()">彈出框</

快速上手Vue(適合懂基礎htmlcssjs的人)

快速上手Vue 前述 1. 目標是通過本文,快速瞭解Vue的基本原理和使用它進行簡單的開發 2. 只需要html、css、js基礎即可(原理涉及ES5,ES6,但對開發者來說不是必須要學的) 3. 這是根據我內部分享的PPT改寫的 目錄 1. 概述 2

來點不一樣的:解耦 HTMLCSS JS之間的那些事

當前在網際網路上,任何一個稍微複雜的網站或者應用程式都會包含許多HTML、CSS 和 JavaScript。隨著網際網路運用的發展以及我們對它的依賴性日益增加,設定一個關於組織和維護你的前端程式碼的計劃是絕對需要的。 當今的一些大型網際網路公司,由於越來越多的人會接觸到

spring boot 2.x html引用cssjs失效

在application.properties中配置了static的預設路徑 我的static目錄結構是這樣的 index.html中這樣引用css或者js檔案,用到了th標籤 html使用th標籤需要先匯入   以上這樣配置好了之後發現網頁的c

html引入cssjs的方法

在html中引入css程式碼 在html中插入CSS樣式表的方法有三種: 1.外部樣式表(External style sheet):即所有的樣式單獨寫在一個.css檔案中,在html檔案的head部分通過link進行連結 <head>   <link rel="styleshe

CSSjs自動新增版本

昨天去winy那裡諮詢他網站裡css和js後面版本號的問題,我之所以想加這個功能是因為每次在A電腦修改的樣式或者js到了B電腦上就看不到效果,還得ctrl+f5才能看到,我承認我快取了網站的樣式和js,雖然可以讓使用者把一些常用的很少改動的樣式和js快取到本地,蛋似當我修

在vue項目npm run build後,index.html引入cssjs 報MIME type問題

html 引用 public 總結 瀏覽器中 找到 概率 配置 報錯 問題: 1.在vue項目中,build打包後,index頁面打開會報錯, MIME type (‘text/html‘) ;報錯內容:because its MIME type (‘text/html‘

使用useref合併html零散的jscss檔案

安裝: $ npm install gulp-useref --save-dev 使用: var gulp = require('gulp'); var useref = require(‘g

htmlcssjs控制input,textarea文字框自動獲取焦點

方法:1:js控制自動獲取焦點 <html> <head> <script type="text/javascript"> function setFocus() { do

Django簡單添加HTMLcssjs等文件

htm djang .py 項目 移動 資源 默認 alt templates 首先申明下自己的環境, python版本3.65 Django版本1.11.15 創建默認Django項目後 首先說下添加Html 在urls.py文件中添加如圖代碼,照抄也

HtmlCSS之去除li前面的小黑點,ul、LI部分屬性方法

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

python學習之網站的編寫(HTMLCSSJS)(十四)----------CSS的display行內標籤塊級標籤的轉換,控制標籤是否顯示

行內標籤:有多大就佔多大,無法設定高度,寬度和邊距。 塊級標籤:佔一行,可以設定高度,寬度和邊距。 塊級標籤轉為行內標籤:display:inline 行內標籤轉為塊級標籤:display:block 還有一個特殊的轉換,既包含塊級標籤的屬性,又具有行內標籤的屬性,自己有多少佔多少,

python學習之網站的編寫(HTMLCSSJS)(十三)----------CSS字型對齊方式的設定

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>逆水行舟不進則退</title> </head> <b

python學習之網站的編寫(HTMLCSSJS)(十一)----------如何利用其它html檔案CSS(也就是可以將共同的地方提取出來,放大一個檔案,利於使用)

首先說一下它的具體用處,我們已經知道,當我們寫一個html檔案的時候,不同的標籤想用相同的版式的時候,我們可以將它提取出來,然後再用一些選擇器進行應用,比如class選擇器。但是,但我們編寫多個html檔案中的時候,多個檔案都想用一些相同的版式該怎麼辦呢? 那麼就引入了這種連線的方式,首先寫一個

htmlcssjs實現音樂播放,含音訊特效歌詞

前端播放器樣例  有需要的小夥伴直接用就行:https://download.csdn.net/download/qq_34042417/10669205 實現思路: 1.載入完頁面後請求等到歌曲,歌詞檔案,要實現歌詞跟歌曲滾動則要求歌詞是lrc格式。 2.對歌詞處理,處理

python學習之網站的編寫(HTMLCSSJS)(五)----------a標籤,用於實現網頁的跳轉頁面具體位置的跳轉

 a標籤既可以實現頁面的跳轉也可以實現具體位置的跳轉,見如下程式碼: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <tit

前端最佳實踐之HTML+CSS JS

一些前端的最佳實踐,包括 html,css,javascript HTML   語義 HTML5為我們提供大量的語義元素的目的就是為了準確地描述內容,確保你受益於其豐富的詞彙。 確保你瞭解你使用的語義元素。錯誤的使用語義元素是很糟糕的。 簡

HTML檔案裡把所有的cssjs檔案引入後,其他的HTML檔案引入該頁面後,可以使用該頁面引入的cssjs

怎樣將一個HTML檔案裡把所有的css、js檔案引入後,然後其他的HTML檔案就不需要在進行引入了 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"