怎樣獲取最新版的javascript文件,解決被瀏覽器緩存的問題

来源:https://www.cnblogs.com/html5study-1/archive/2019/11/30/11962171.html

轉載自:https://www.cnblogs.com/mafengzi/p/10464910.html 假設有一個js文件(以jquery為例),在伺服器上的URL地址為:../js/jquery.js 。 當某天jquery版本更新了,用最新版的jquery文件覆蓋了原來舊版的jquery文件。 ...


轉載自:https://www.cnblogs.com/mafengzi/p/10464910.html

假設有一個js文件(以jquery為例),在伺服器上的URL地址為:../js/jquery.js 。

當某天jquery版本更新了,用最新版的jquery文件覆蓋了原來舊版的jquery文件。

這時,在打開引用了此js文件的網頁時,有可能引用的還是舊版,這是因為瀏覽器有緩存,它緩存了舊版的jquery文件。

瀏覽器緩存文件是以完整的URL來緩存的,也就是說,當瀏覽器遇到一個與之前完全一致的URL請求時,就有可能使用之前緩存下來的文件,而不是向伺服器去請求文件。當然,緩存是有時效的,超過了一定的時間後,緩存將會消失。

既然是以完整的URL來緩存文件的,那麼我們就可以使用不同的文件名來訪問更新後的文件。

一種解決方法是,將版本號寫在文件名里,比如,可將以上的jquery.js的文件名改為 jquery-3.3.0.js,其中,3.3.0就是jquery的版本號。在前端引用時,就這樣寫:

<script src="../js/jquery-3.3.0.js"></script>

當某天jquery的版本更新為3.3.1了,我們就將文件名修改為jquery-3.3.1。前端引用的代號同時修改為:

<script src="../js/jquery-3.3.1.js"></script>

另一種解決方法是,不修改文件名,而是將版本號放在URL的query參數里,比如這樣寫:

<script src="../js/jquery.js?ver=3.3.0"></script>

其中ver=3.3.0就是版本號。當jquery的版本號更新為3.3.1之後,就改寫為這樣:

<script src="../js/jquery.js?ver=3.3.1"></script>

 


您的分享是我們最大的動力!

更多相關文章
  • 概述&背景 MySQL一直被人詬病沒有實現HashJoin,最新發佈的8.0.18已經帶上了這個功能,令人欣喜。有時候在想,MySQL為什麼一直不支持HashJoin呢?我想可能是因為MySQL多用於簡單的OLTP場景,並且在互聯網應用居多,需求沒那麼緊急。另一方面可能是因為以前完全靠社區,這種演進 ...
  • SQL:Structured Quety Language SQL SERVER是一個以客戶/伺服器(c/s)模式訪問、使用Transact-SQL語言的關係型資料庫管理子系統(RDBMS) DBMS :Database Management System資料庫管理系統 資料庫:程式用來存取數據的 ...
  • Responding to the Launch of Your App Initialize your app’s data structures, prepare your app to run, and respond to any launch-time requests from the ...
  • 一、完成了內容中的右邊的一部分。練習了三點:小盒子在大盒子中的位置,最好用大盒子的內邊距完成佈局,而不是用小盒子的外邊距來進行佈局;複習了ul,li的用法。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>D ...
  • css背景樣式屬性介紹 背景樣式就是自定義 標簽的背景顏色或背景圖像。 背景屬性說明表 屬性名 | 屬性值|描述 | | background color | f00、red、rgb(255,0,0)|設置背景顏色。 background image |url(背景圖片路徑)|設置背景圖像。 bac ...
  • jQuery中的事件 在JavaScript中,常用的基礎事件有滑鼠事件、鍵盤事件、window事件、表單事件、事件綁定和處理函數的語法格式如下 語法q 事件名 = "函數名()"; 或者 DOM對象.事件名 = 函數; 1、載入事件 $(function () {}); //推薦使用 $(docu ...
  • 簡單的小游戲製作,代碼量只有兩三百行。游戲可自行擴展延申。 源碼已發佈至github,喜歡的點個小星星,源碼入口: "game snake" 游戲已發佈,游戲入口: "http://snake.game.yanjd.top" 第一步 製作想法 游戲如何實現是首要想的,這裡我的想法如下: 1. 利用c ...
  • 在我們的日常前端開發中,使用最頻繁的莫過於使用 在瀏覽器的控制臺中列印出我們需要調試的信息,但是大部分人可能跟之前的我一樣,沒有意識到其實 除了 方法以外,還有很多實用的方法,這些方法可以使我們的調試過程更加容易,也表達得更加直觀,更加豐富多彩,下麵我們就來看看有哪些實用的方法吧! 1、consol ...
一周排行
  • 比如要拆分“呵呵呵90909086676喝喝999”,下麵當type=0返回的是中文字元串“呵呵呵,喝喝”,type=1返回的是數字字元串“90909086676,999”, private string GetStrings(string str,int type=0) { IList<strin ...
  • Swagger一個優秀的Api介面文檔生成工具。Swagger可以可以動態生成Api介面文檔,有效的降低前後端人員關於Api介面的溝通成本,促進項目高效開發。 1、使用NuGet安裝最新的包:Swashbuckle.AspNetCore。 2、編輯項目文件(NetCoreTemplate.Web.c ...
  • 2020 年 7 月 30 日, 由.NET基金會和微軟 將舉辦一個線上和為期一天的活動,包括 微軟 .NET 團隊的演講者以及社區的演講者。本次線上大會 專註.NET框架構建微服務,演講者分享構建和部署雲原生應用程式的最佳實踐、模式、提示和技巧。有關更多信息和隨時瞭解情況:https://focu... ...
  • #abp框架Excel導出——基於vue #1.技術棧 ##1.1 前端採用vue,官方提供 UI套件用的是iview ##1.2 後臺是abp——aspnetboilerplate 即abp v1,https://github.com/aspnetboilerplate/aspnetboilerp ...
  • 前言 本文的文字及圖片來源於網路,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯繫我們以作處理。 作者:碧茂大數據 PS:如有需要Python學習資料的小伙伴可以加下方的群去找免費管理員領取 input()輸入 Python提供了 input() 內置函數從標準輸入讀入一 ...
  • 從12年到20年,python以肉眼可見的趨勢超過了java,成為了當今It界人人皆知的編程語言。 python為什麼這麼火? 網路編程語言搜索指數 適合初學者 Python具有語法簡單、語句清晰的特點,這就讓初學者在學習階段可以把精力集中在編程對象和思維方法上。 大佬都在用 Google,YouT ...
  • 在社會上存在一種普遍的對培訓機構的學生一種歧視的現象,具體表現在,比如:當你去公司面試的時候,一旦你說了你是培訓機構出來的,那麼基本上你就涼了,那麼你瞞著不說,然後又通過了面試成功入職,但是以後一旦在公司被髮現有培訓經歷,可能會面臨被降薪,甚至被辭退,培訓機構出來的學生,在用人單位眼裡就是能力低下的 ...
  • from typing import List# 這道題看了大佬寫的代碼,經過自己的理解寫出來了。# 從最外圍的四周找有沒有為O的,如果有的話就進入深搜函數,然後深搜遍歷# 判斷上下左右的位置是否為Oclass Solution: def solve(self, board: List[List[s ...
  • import requests; import re; import os; # 1.請求網頁 header = { "user-agent":'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, li ...
  • import requests; import re; import os; import parsel; 1.請求網頁 header = { "user-agent":'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537. ...