【问题标题】:autoversioning image links INSIDE css and javascript files?自动版本化图像链接在 css 和 javascript 文件中?
【发布时间】:2010-12-30 17:48:08
【问题描述】:

在我的 PHP 应用程序中,我已经成功地自动控制了我的静态内容(CSS、JS 和图像),所以我的 URL 看起来像这样:

<link rel="stylesheet" href="http://example.com/include/css/global.1262063295.css" type="text/css" media="all" />
<img src="http://example.com/images/logo.1254284339.png" alt="" />

10 位 版本号 只是单个文件的修改 Unix 时间戳。这是通过 mod_rewrite 和一些基本的 PHP 代码实现的(参见http://particletree.com/notebook/automatically-version-your-css-and-javascript-files/)。到目前为止一切顺利。


但是,这是我的问题。

在我的 CSS 文件中,我有许多背景图片的链接:

background: url("http://example.com/images/dice.gif") no-repeat right top;

同样在我的 JS 文件中,我也引用了不同的图像。

由于我希望对我的静态内容(css、js、图像)的所有访问都包含版本号,有没有办法自动更新链接INSIDE一个 .css 或 .js 文件,所以上面的 css 看起来像这样:

background: url("http://example.com/images/dice.1234567893.gif") no-repeat right top;

如何自动完成?

谢谢, 康斯坦丁

【问题讨论】:

    标签: javascript css static auto-versioning


    【解决方案1】:

    您也可以通过 PHP 提供 CSS 和 JS 文件。例如,将 global.css 重命名为 global.css.php。确保发送到正确的 HTTP 响应标头。

    <?php // global.css.php
    header('Content-Type:text/css; charset:utf-8');
    include($_SERVER['DOCUMENT_ROOT'].'/path/to/autoVer.php'); ?>
    
    #cssrule { background: url(<?php autoVer('/img/background.gif') ?>); }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-26
      • 2016-07-24
      • 2020-06-04
      • 2012-08-01
      • 1970-01-01
      • 2011-08-14
      • 2011-01-18
      • 1970-01-01
      相关资源
      最近更新 更多