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/
另外一種從更改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/
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等靜態檔案。如果用問號加引數的方法,可以新增版本號等資訊,同時可以重新整理一下瀏覽器端的快取。一個小小的細節,可以給我們帶來很大的方便。
相關推薦
HTML中css和js連結版本號的用途
背景在搜尋引擎中搜索關鍵字 .htaccess 快取,你可以搜尋到很多關於設定網站檔案快取的教程,通過設定可以將css、js等不太經常更新的檔案快取在瀏覽器端,這樣訪客每次訪問你的網站的時候,瀏覽器就可以從快取中獲取css、js等靜態檔案,而不必從你的伺服器再次下載讀取,這樣
html、css和js註釋的規範用法
ont alt 推薦 pan 文件 strong 服務 可用 如何 成為專業的前端工程師!!! html註釋: <!--註釋內容--> css註釋: //註釋內容 單行註釋(不推薦使用,因為有的瀏覽器可能不兼容,沒有效果)/*註釋內容*/ 多
html、css和js原生寫一個模態彈出框,順便解決父元素半透明子元素不透明效果
script javascrip z-index htm index 彈出 rgb 特性 radi 模態框: html部分: <!-- 按鈕 --> <button id="box" onclick="pop_box()">彈出框</
快速上手Vue(適合懂基礎html、css和js的人)
快速上手Vue 前述 1. 目標是通過本文,快速瞭解Vue的基本原理和使用它進行簡單的開發 2. 只需要html、css、js基礎即可(原理涉及ES5,ES6,但對開發者來說不是必須要學的) 3. 這是根據我內部分享的PPT改寫的 目錄 1. 概述 2
來點不一樣的:解耦 HTML、CSS 和 JS之間的那些事
當前在網際網路上,任何一個稍微複雜的網站或者應用程式都會包含許多HTML、CSS 和 JavaScript。隨著網際網路運用的發展以及我們對它的依賴性日益增加,設定一個關於組織和維護你的前端程式碼的計劃是絕對需要的。 當今的一些大型網際網路公司,由於越來越多的人會接觸到
spring boot 2.x html中引用css和js失效
在application.properties中配置了static的預設路徑 我的static目錄結構是這樣的 index.html中這樣引用css或者js檔案,用到了th標籤 html使用th標籤需要先匯入 以上這樣配置好了之後發現網頁的c
在html中引入css和js的方法
在html中引入css程式碼 在html中插入CSS樣式表的方法有三種: 1.外部樣式表(External style sheet):即所有的樣式單獨寫在一個.css檔案中,在html檔案的head部分通過link進行連結 <head> <link rel="styleshe
CSS和js自動新增版本號
昨天去winy那裡諮詢他網站裡css和js後面版本號的問題,我之所以想加這個功能是因為每次在A電腦修改的樣式或者js到了B電腦上就看不到效果,還得ctrl+f5才能看到,我承認我快取了網站的樣式和js,雖然可以讓使用者把一些常用的很少改動的樣式和js快取到本地,蛋似當我修
在vue項目npm run build後,index.html中引入css和js 報MIME type問題
html 引用 public 總結 瀏覽器中 找到 概率 配置 報錯 問題: 1.在vue項目中,build打包後,index頁面打開會報錯, MIME type (‘text/html‘) ;報錯內容:because its MIME type (‘text/html‘
使用useref合併html中零散的js和css檔案
安裝: $ npm install gulp-useref --save-dev 使用: var gulp = require('gulp'); var useref = require(‘g
html中的css和js控制input,textarea文字框自動獲取焦點
方法:1:js控制自動獲取焦點 <html> <head> <script type="text/javascript"> function setFocus() { do
Django中簡單添加HTML、css、js等文件
htm djang .py 項目 移動 資源 默認 alt templates 首先申明下自己的環境, python版本3.65 Django版本1.11.15 創建默認Django項目後 首先說下添加Html 在urls.py文件中添加如圖代碼,照抄也
Html中CSS之去除li前面的小黑點,和ul、LI部分屬性方法
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
python學習之網站的編寫(HTML,CSS,JS)(十四)----------CSS的display行內標籤和塊級標籤的轉換,控制標籤是否顯示
行內標籤:有多大就佔多大,無法設定高度,寬度和邊距。 塊級標籤:佔一行,可以設定高度,寬度和邊距。 塊級標籤轉為行內標籤:display:inline 行內標籤轉為塊級標籤:display:block 還有一個特殊的轉換,既包含塊級標籤的屬性,又具有行內標籤的屬性,自己有多少佔多少,
python學習之網站的編寫(HTML,CSS,JS)(十三)----------CSS字型和對齊方式的設定
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>逆水行舟不進則退</title> </head> <b
python學習之網站的編寫(HTML,CSS,JS)(十一)----------如何利用其它html檔案中的CSS(也就是可以將共同的地方提取出來,放大一個檔案中,利於使用)
首先說一下它的具體用處,我們已經知道,當我們寫一個html檔案的時候,不同的標籤想用相同的版式的時候,我們可以將它提取出來,然後再用一些選擇器進行應用,比如class選擇器。但是,但我們編寫多個html檔案中的時候,多個檔案都想用一些相同的版式該怎麼辦呢? 那麼就引入了這種連線的方式,首先寫一個
html,css,js實現音樂播放,含音訊特效和歌詞
前端播放器樣例 有需要的小夥伴直接用就行:https://download.csdn.net/download/qq_34042417/10669205 實現思路: 1.載入完頁面後請求等到歌曲,歌詞檔案,要實現歌詞跟歌曲滾動則要求歌詞是lrc格式。 2.對歌詞處理,處理
python學習之網站的編寫(HTML,CSS,JS)(五)----------a標籤,用於實現網頁的跳轉和頁面具體位置的跳轉
a標籤既可以實現頁面的跳轉也可以實現具體位置的跳轉,見如下程式碼: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <tit
前端最佳實踐之HTML+CSS 和JS
一些前端的最佳實踐,包括 html,css,javascript HTML 語義 HTML5為我們提供大量的語義元素的目的就是為了準確地描述內容,確保你受益於其豐富的詞彙。 確保你瞭解你使用的語義元素。錯誤的使用語義元素是很糟糕的。 簡
HTML檔案裡把所有的css、js檔案引入後,其他的HTML檔案引入該頁面後,可以使用該頁面引入的css和js
怎樣將一個HTML檔案裡把所有的css、js檔案引入後,然後其他的HTML檔案就不需要在進行引入了 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"