【问题标题】:Dynamic CSS - add ?value to to assist with caching problem动态 CSS - 添加 ?value 以帮助解决缓存问题
【发布时间】:2011-08-16 01:37:35
【问题描述】:

Dynamic CSS - caching problem? 的帖子中,声明将 ?value 添加到 css 文件名的末尾以帮助缓存。我正在使用主题,并且 css 文件会自动加载。渲染前可以用HttpHandler修改css文件路径吗?

有什么例子或链接可以说明如何做到这一点?

【问题讨论】:

  • 我假设您使用的是 .NET 语言。这将有助于用语言标记问题。
  • 这篇文章可能会有所帮助 - stackoverflow.com/questions/1234246/…
  • 实际上,我正在寻找有关如何通过 HttpHandler 处理此问题的更多信息。原因是 ASP.Net 主题进程自动从与主题关联的目录中加载 css 文件。 css 链接是自动创建的,并使用每个 css 文件的文件名。我想通过处理程序拦截它,并在页面呈现之前将 ? 值附加到链接。

标签: css caching httphandler


【解决方案1】:

假设使用 PHP,你可以这样做;但是,这可以很容易地适应任何语言。

<?php
$randNum = mt_rand();
?>

<link type="text/css" rel="stylesheet" href="style.css?<?=$randNum?>" />

这是一个演示:http://wecodesign.com/demos/stackoverflow-7072702.php

更新您还可以设置标题以防止缓存,对于 CSS 文件,您需要在 CSS 的顶部执行类似的操作,将其重命名为php 扩展而不是 css 扩展:

<?php
header("Content-type: text/css; charset: UTF-8");
header("Cache-Control: no-cache, must-revalidate");
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-01
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-13
    • 2011-11-14
    • 1970-01-01
    相关资源
    最近更新 更多