【问题标题】:@font-face not loading in IE8@font-face 没有在 IE8 中加载
【发布时间】:2013-01-07 05:42:32
【问题描述】:

我从 fontsquirrel.com 为我们客户的一个网站生成了一个 @font-face 工具包。我们的站点在登台 (http) 和实时 (https) 服务器上运行。该网站基于 .NET 构建

我遇到的问题是字体无法在 IE8 上加载。它在 IE9、Chrome、Firefox 和 Safari 中运行良好。

我采取的步骤如下:

  • 使用客户端提供的 .TTF 字体文件生成的套件
  • 将字体文件复制到 assets 文件夹中
  • 使用生成的@font-face 代码在 CSS 文件中引用字体文件(如下)
@font-face {
    font-family: 'font-name';
    src: url('../../fonts/font-name-webfont.eot');
    src: url('../../fonts/font-name-webfont.eot?#iefix') format('embedded-opentype'),
         url('../../fonts/font-name-webfont.woff') format('woff'),
         url('../../fonts/font-name-webfont.ttf') format('truetype'),
         url('../../fonts/font-name-webfont.svg#font-name') format('svg');
    font-weight: normal;
    font-style: normal;
}

我一直在研究可能的修复方法,到目前为止,我尝试了以下方法,但均未成功:

  • 重新生成字体工具包
  • 已检查所有必需的 mime 类型均已在 Web.config 中设置
  • 使用开发者工具检查了 IE 中的字体系列规则
  • 检查声明没有在其他 CSS 文件中被覆盖
  • 将下载的字体套件测试添加到临时服务器并在 IE8 中测试

注意:
我上传到临时服务器的测试在 IE8 上运行良好。这表明它要么与服务器相关,要么我们的 CSS 有问题。不过,我 99% 确定我已经排除了 CSS 中的任何可疑之处。

任何帮助将不胜感激!

【问题讨论】:

  • 特别是因为您怀疑这与服务器有关,因此发布 URL 将是必不可少的。最好使用真实的字体名称并识别字体的来源。根据给定的信息,问题似乎无法分析。
  • 恐怕我们不能发布网址——该网站还没有上线。该站点使用Umbraco(应该没有区别),但HTML和CSS都很正常; CMS 没有做任何可能把他们搞砸的事情。
  • 您说直播站点使用的是https,您是在直播服务器上测试还是在使用SSL的staging上测试?
  • 在我们的 Live 和 Staging 版本中,在 SSL 下渲染时,以及在 没有 SSL 的情况下渲染时,都会发生这种情况。 (Live 服务器重定向非 SSL 的请求。)
  • 目前还没有,尽管问题在安全和非安全服务器上都很明显。我明天就可以将测试添加到实时服务器,并将用结果更新我的帖子。

标签: css internet-explorer-8 font-face umbraco mime-types


【解决方案1】:

首先,我会检查字体文件是否实际被提供。它可能与不正确的相对路径一样愚蠢 - 尽管在这种情况下我对此表示怀疑。为此,请使用 CharlesFiddler 之类的工具。这些工具应该始终是检查文件是否按预期提供的第一个调用端口。

我还会检查扩展程序/mime 类型是否已在站点配置或 IIS 配置中设置。

【讨论】:

  • mime 类型都设置正确,我很确定我们的路径是正确的,因为其他浏览器可以正常提取字体。不过,对 Fiddler 的呼吁很好 - 我现在会检查一下。希望我们的测试(上面提到的)能给我们一个线索。谢谢!
  • 我还会检查您在项目结构中设置 CSS 的位置。 Umbraco 使用 ClientDependency 库来缓存站点提供的某些文件,包括 Umbraco 本身中设置的 CSS。如果 CSS 独立于 Umbraco,那么这不是问题。
  • 问题确实是 .eot 文件没有加载。我们的 .csproj 中 .eot 文件的构建操作默认设置为“无”而不是“内容”,因此它们自然不会加载。已接受答案,非常感谢!
猜你喜欢
  • 2022-01-22
  • 1970-01-01
  • 2019-02-11
  • 2014-11-19
  • 2012-11-01
  • 2012-05-04
  • 1970-01-01
  • 2016-02-07
  • 1970-01-01
相关资源
最近更新 更多