【问题标题】:Testing a stylesheet with resources on a different server使用不同服务器上的资源测试样式表
【发布时间】:2010-08-30 22:36:32
【问题描述】:

我有一个样式表,里面有我从live 复制到testbackground: url(/images/foo.gif) 之类的东西。它在live 上运行良好,但在test 上运行良好。这是因为test 没有/images 内容。除了从“url(/”到“url(http://live/”或将/images复制到test进行查找/替换之外,还有什么好的方法可以解决这个问题吗?请注意,当测试页面在@987654331上时@上线,他们将在live

【问题讨论】:

  • 我的印象是,我的问题的答案是,“不,没有解决这个问题的好方法。”哦,好吧。

标签: html css


【解决方案1】:

没有。您需要在每台服务器上都有您的图像文件夹的副本。

【讨论】:

    【解决方案2】:

    一旦图像文件夹与样式表的位置无关,您需要将测试的 /images 替换为绝对位置http://live/images

    【讨论】:

      【解决方案3】:

      所以综上所述,你需要将test的CSS更改为指向实时图像,但是你需要在不修改CSS的情况下这样做吗?我想如果这很容易,你就不会问了。

      一个建议可能是创建一个替代的test-only 样式表,它会覆盖相关类并正确指向生产图像,但只会在test 上加载。你将如何完成这将取决于你的代码。如果您维护单独的 livetest 配置文件,则可以将其放入配置中(即,如果 test.css 存在,则包含它)。

      【讨论】:

        【解决方案4】:

        您可以使用诸如 Charles Proxy 之类的软件将 /images/ 重新映射到 http://live/images/ — 所有测试人员都需要安装一份副本。

        您也可以在网络服务器上安装代理,例如mod_proxy

        【讨论】:

        • 实际上,这有点类似于实际设置的工作方式,尽管这样做的原因是为了解决与我所询问的问题不同的问题。
        【解决方案5】:

        您可以将 放在测试的

        中。这会将当前域替换为所有以 / 开头的 URL 中的给定 href。

        【讨论】:

        • 这不会传递给样式表(可能在 Netscape 4.x 中除外)
        • 这是我对 html 本身使用的策略。
        猜你喜欢
        • 2013-06-02
        • 2019-11-27
        • 2021-11-06
        • 2018-05-09
        • 1970-01-01
        • 2013-09-01
        • 1970-01-01
        • 2012-04-07
        • 1970-01-01
        相关资源
        最近更新 更多