gpt4 book ai didi

css - @font-face src : url(. ..) 无法找出上下文路径,这可能是一个变量

转载 作者:行者123 更新时间:2023-11-27 23:47:51 25 4
gpt4 key购买 nike

我的 css 文件具有使用 URL 绝对路径的自定义字体。它在默认上下文路径为空的情况下完美工作:

@font-face {
src: url('/font/myfont-Regular.woff') format('woff');
}

Web 应用程序部署在 jBoss 或 Tomcat 中,上下文路径是可配置的。 “ABC”下方可以是任何内容。

<jboss-web>
<context-root>ABC</context-root>
</jboss-web>

上下文路径不是空的,我的自定义字体无法再加载,因为它不知道如何将“上下文路径”添加到字体位置的“URL”。

设置上下文路径后加载此自定义字体时出现 404 错误。404 的原因是它试图通过加载 http://www.example.com/font/myfont-Regular.woff

虽然它应该从以下位置加载:
http://www.example.com/ABC/font/myfont-Regular.woff

但是“ABC”(上下文路径)在客户端是可配置的,我不能在 css 文件中对其进行硬编码。
我已经在 css 文件中尝试了“c:url”标签,但无法对其进行评估。 (这是可以理解的)。 css 文件也不会知道 JSP 脚本。

我想找到一种通过了解“上下文路径”来加载自定义字体的方法

最佳答案

解决方案不是外部 css 文件,而是在 JSP 文件中使用内部样式表语法,以便了解上下文路径。例如,将以下部分嵌入到 JSP 的“head”部分中。然后“c:url”将正确解析包含上下文的路径。

<style> 
@font-face {
....
src: url("<c:url value='/font/myfont-Regular.woff'/>") format('woff');
}
</style>

现在为了提高上述内部样式的可重用性,还有一个技巧是使用一个 JSP(或 JSPF)文件,其唯一内容是上述内部样式。然后可以在必要时将其包括在内。它必须具有“.jsp”或“.jspf”的扩展名才能“上下文感知”。

关于css - @font-face src : url(. ..) 无法找出上下文路径,这可能是一个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56689655/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com