当前位置:  开发笔记 > 编程语言 > 正文

使用像Stackoverflow这样的查询字符串对CSS文件进行版本控制吗?

如何解决《使用像Stackoverflow这样的查询字符串对CSS文件进行版本控制吗?》经验,为你挑选了1个好方法。

如果您查看Stackoverflow.com的源代码,您会看到对其css文件的引用是:


这是如何完成的,以便他们可以通过查询字符串传递一个版本并提供正确的CSS文件?



1> Davide Vosti..:

本文(PHP/.htaccess示例)解释了它背后的想法.基本上,您可以将上次修改文件的时间戳附加到文件名,但仍然可以提供原始文件.这样,每次保存新版本的CSS文件时,文件名都会更改,这会强制浏览器下载新版本.这适用于多种文件,包括CSS和JS文件.(使用文件名的替代方法是使用查询字符串.)

一个ASP.NET示例是这样的:

public static string GetBreaker(string fileName)
{
    string cacheBreaker = null;
    try
    {
        if (fileName.StartsWith("~"))
        {
            fileName = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, fileName.Remove(0));
        }
        cacheBreaker = File.GetLastWriteTime(fileName).ToFileTime().ToString();
    }
    catch { }

    return string.IsNullOrEmpty(cacheBreaker) ? string.Empty : string.Format("?cachebreaker={0}", cacheBreaker);
}

并以这种方式在MasterPage中调用此方法:

<%=CacheBreaker.GetBreaker("~/CSS/style.css") %>"
            rel="stylesheet" type="text/css" />

推荐阅读
贾志军
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有