加载网站时浏览器未加载字体文件 (woff / woff2)
Browser not loading font file (woff / woff2) when loading website
我有一个部分剃须刀页面,其中我为名为 Futura Bk BT Book.[=16 的字体定义了 font-family
和 font-face
=]
@if (!string.IsNullOrEmpty(Model.Font))
{
<text>
@@font-face{
font-family: "'Futura Bk BT Book'";
src: url(@Url.Content("~/Assets/fonts/Futura Bk BT Book.woff2")) format("woff2"),
url(@Url.Content("~/Assets/fonts/Futura Bk BT Book.woff")) format("woff");
}
html{
font-family: @Html.Raw(Model.Font);
}
</text>
}
当我访问此页面时,浏览器没有加载链接的 woff 文件,而是使用 @Model.Font
中给出的下一个字体,即 Arial.
当我尝试通过 url 访问字体文件时,我通过 @Url.Content("~/Assets/fonts/Futura Bk BT Book.woff2")
访问,然后我可以下载该文件。所以似乎该文件是可访问的,只有浏览器不会尝试加载它。
我正在使用 C# 7.3 和 IIS 10。
我很高兴收到任何提示,如果需要可以提供更多信息。
据我所知,IIS 不需要为 WOFF 添加 mime 类型,它需要为 WOFF2 添加一个。
所以你可以尝试在IIS中添加mime类型,修改你的Web.Config如下:
<system.webServer>
<staticContent>
<mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />
</staticContent>
我们解决了这个问题。我们的构建管道没有重建 css 文件是一个问题。所以上面的功能完全没有问题。
我有一个部分剃须刀页面,其中我为名为 Futura Bk BT Book.[=16 的字体定义了 font-family
和 font-face
=]
@if (!string.IsNullOrEmpty(Model.Font))
{
<text>
@@font-face{
font-family: "'Futura Bk BT Book'";
src: url(@Url.Content("~/Assets/fonts/Futura Bk BT Book.woff2")) format("woff2"),
url(@Url.Content("~/Assets/fonts/Futura Bk BT Book.woff")) format("woff");
}
html{
font-family: @Html.Raw(Model.Font);
}
</text>
}
当我访问此页面时,浏览器没有加载链接的 woff 文件,而是使用 @Model.Font
中给出的下一个字体,即 Arial.
当我尝试通过 url 访问字体文件时,我通过 @Url.Content("~/Assets/fonts/Futura Bk BT Book.woff2")
访问,然后我可以下载该文件。所以似乎该文件是可访问的,只有浏览器不会尝试加载它。
我正在使用 C# 7.3 和 IIS 10。
我很高兴收到任何提示,如果需要可以提供更多信息。
据我所知,IIS 不需要为 WOFF 添加 mime 类型,它需要为 WOFF2 添加一个。 所以你可以尝试在IIS中添加mime类型,修改你的Web.Config如下:
<system.webServer>
<staticContent>
<mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />
</staticContent>
我们解决了这个问题。我们的构建管道没有重建 css 文件是一个问题。所以上面的功能完全没有问题。