3

我不完全确定为什么会发生这种情况,但我似乎收到了一些关于 IE8 对 CSS font-face 字体的请求的常规服务器端错误报告。CSS 中的路径是相对正确的,我没有看到任何来自 IE9 的错误。

这是记录的示例错误消息(某些信息被掩盖)。

{
  "DateTimeUTC": "2012-12-10T15:58:32.2512016+00:00",
  "RequestId": "goq9",
  "UserIP": "72.221.104.224",
  "UserAgent": "Mozilla/4.0 (compatible; MSIE 8.0; AOL 9.6; AOLBuild 4340.5004; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; MDDS; .NET4.0C; Zune 4.7)",
  "ReferringUrl": "https://some-site/some/path/option1/option2",
  "Message": {
    "Exception": null,
    "RequestId": null,
    "ErrorCode": 404,
    "ErrorDescription": "Not Found",
    "OriginalUrl": "/some/path/fonts/rokkitt/rokkitt-webfont.eot"
  },
  "Exception": null,
  "RequestUrl": "https://some-site.com/some/path/fonts/rokkitt/rokkitt-webfont.eot",
  "Cookies": [/*removed from display*/],
  "PostData": {},
  "DebugInfo": null
}

如您所见,请求似乎是针对具有相对于页面 url 的路径的字体,而不是 css 文件的 url。(/content/css/site/site.css 与 /content/fonts/... 中的字体) IE8 是否恰好检查相对于页面?或者它是否同时检查两者?

我看到了类似的问题,似乎都是 IE8,但我自己无法重新创建问题。它似乎确实是 AOL 支持的 IE8,不确定这是否会有所不同。

4

1 回答 1

0

我遇到了同样的问题,我认为这是由嵌入的样式表引起的(即 HTML HEAD 中的 STYLE 元素中的规则)。我在错误日志中看到来自 IE8 的 404,以查找奇数路径中的 .eot 文件。.eot 文件在我的外部样式表中以相对路径引用。解析相对于样式表 URL 的路径的浏览器会找到字体文件,但 IE8 似乎偶尔会解析相对于文档 URL 的路径。我无法用我的 IE8 实例重现这一点,但日志讲述了一个非常清楚的故事。

我们最近更改了我们的应用程序以使用包含一些与字体相关的规则的小型嵌入式样式表(即 HEAD 中的 STYLE 元素),并且在此之后开始出现 404。我删除了这个嵌入的样式表,并将规则移到了外部样式表中。自从进行此更改后,我还没有看到任何 404。

编辑 这个答案是不正确的。将规则从嵌入样式表移动到外部样式表并没有改变行为。我在星期五下午进行了更改,周末没有看到任何 404,但今天(星期一)确实看到了 .eot 文件的 404。

于 2013-02-10T23:10:03.660 回答