日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

js/css文件修改后浏览器本地缓存解决

發布時間:2023/12/10 HTML 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 js/css文件修改后浏览器本地缓存解决 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文實例講述了讓html頁面隨js的修改來更新緩存的實現方法。分享給大家供大家參考。具體實現方法如下:

很多朋友都會碰到這樣的情況:如果我們頁面加載了js的話下次打開時也會是調用這個js緩存文件,但對于我們修改后調試和發布是非常的不方便了,本文就來談論如何解決這一問題,下面一起來看看。

一、后臺編寫一個 UrlCommon的js/css url的連接操作類

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Web; 6 using System.Web.Optimization; 7 8 namespace WebApp.Common 9 { 10 public abstract class UrlCommon 11 { 12 public abstract string _defaultTagFormat { get; } 13 public abstract string _verTagFormat { get; } 14 protected internal virtual String ComputeSHA1(String fileName) 15 { 16 String hashSHA1 = String.Empty; 17 if (System.IO.File.Exists(fileName)) 18 { 19 using (System.IO.FileStream fs = new System.IO.FileStream(fileName, System.IO.FileMode.Open, System.IO.FileAccess.Read)) 20 { 21 System.Security.Cryptography.SHA1 calculator = System.Security.Cryptography.SHA1.Create(); 22 Byte[] buffer = calculator.ComputeHash(fs); 23 calculator.Clear(); 24 StringBuilder stringBuilder = new StringBuilder(); 25 for (int i = 0; i < buffer.Length; i++) 26 { 27 stringBuilder.Append(buffer[i].ToString("x2")); 28 } 29 hashSHA1 = stringBuilder.ToString(); 30 } 31 } 32 return hashSHA1; 33 } 34 public virtual IHtmlString Url(string url, bool ver = true) 35 { 36 string absUrl = System.Web.Optimization.Scripts.Url(url).ToString(); 37 string strUrl = string.Format(this._defaultTagFormat, absUrl); 38 if (ver) 39 { 40 string filePath = System.Web.HttpContext.Current.Server.MapPath(url); 41 string verNum = this.ComputeSHA1(filePath); 42 //if (!string.IsNullOrWhiteSpace(verNum) && verNum.Length > 16) 43 //{ 44 // verNum = verNum.Substring(0, 16); 45 //} 46 strUrl = string.Format(this._verTagFormat, absUrl, verNum); 47 } 48 return new HtmlString(strUrl); 49 } 50 } 51 public class UrlScript : UrlCommon 52 { 53 public static UrlScript Instance = new UrlScript(); 54 public override string _defaultTagFormat 55 { 56 get { return "<script src=\"{0}\"></script>"; } 57 } 58 public override string _verTagFormat 59 { 60 get { return "<script src=\"{0}?v={1}\"></script>"; } 61 } 62 } 63 public class UrlStyle : UrlCommon 64 { 65 public static UrlStyle Instance = new UrlStyle(); 66 public override string _defaultTagFormat 67 { 68 get { return "<link href=\"{0}\" rel=\"stylesheet\"/>"; } 69 } 70 public override string _verTagFormat 71 { 72 get { return "<link href=\"{0}?v={1}\" rel=\"stylesheet\"/>"; } 73 } 74 } 75 } View Code

二、view頁面添加智能提示

三、使用方法

view頁面添加css/js的方法

@UrlStyle.Instance.Url("~/CSS/monther-footer.css")

@UrlScript.Instance.Url("~/Scripts/common.js")

頁面加載效果

只要文件修改SHA1的值就會改變,對應的?v=xxxxxxx也會隨著改變,這樣瀏覽器就會自動下載新的文件,只要文件不做修改就可以用本地的緩存,兩不誤的好辦法

轉載于:https://www.cnblogs.com/fsf869433932/p/t_201606221455.html

總結

以上是生活随笔為你收集整理的js/css文件修改后浏览器本地缓存解决的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。