首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用HTTPS的字体

问使用HTTPS的字体
EN

Stack Overflow用户
提问于 2014-03-26 18:31:24
回答 5查看 12.3K关注 0票数 4

因此,当我在自己的站点中使用HTTPS时,我在IE8中遇到了字体Awesome的问题,这在Font自己的站点上甚至是可复制的。如果我转到字体在HTTPS上的应用 in IE8,我会得到所有图标的方框,但是如果我转到字体在HTTP上的应用,则会得到正确呈现的图标。

这里有什么问题?我听说这可能与字体中的相对字体路径有关,但我不确定。

以下是给那些喜欢这类东西的人的截图:

​

更新

下面是引用字体和加载CSS的代码。我将使用Font站点的代码,因为这似乎是Font的一个问题,而不一定是我的站点的问题:

引用CSS和图标的HTML:

代码语言:javascript
复制
<link rel="stylesheet" href="../assets/css/site.css">
<link rel="stylesheet" href="../assets/css/pygments.css">
<link rel="stylesheet" href="../assets/font-awesome/css/font-awesome.css">
...
<div class="fa-hover col-md-3 col-sm-4">
   <a href="../icon/adjust"><i class="fa fa-adjust"></i> fa-adjust</a>
</div>

in in font-awesome.css

代码语言:javascript
复制
@font-face {
  font-family: 'FontAwesome';
  src: url('../fonts/fontawesome-webfont.eot');
  src: url('../fonts/fontawesome-webfont.eot?#iefix') format('embedded-opentype'),
  url('../fonts/fontawesome-webfont.woff?v=4.0.3') format('woff'),
  url('../fonts/fontawesome-webfont.ttf?v=4.0.3') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.0.3#fontawesomeregular') format('svg');
  font-weight: normal;
  font-style: normal;
}
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2014-03-27 16:23:50

我已经确定了这个问题,如果其他人遇到同样的问题,我会发布答案。问题在于我们发送的HTTP缓存头以及字体文件。显然,这会导致HTTPS上的IE8出于某种原因而不加载字体(如果有人知道真正的原因,请在下面评论)。成功的标题应该如下所示:

代码语言:javascript
复制
HTTP/1.1 200 OK
Content-Type: application/vnd.ms-fontobject
Date: Wed, 26 Mar 2014 23:57:04 GMT
ETag: "08b27bc96115c2d24350f0d09e6a9433f"
Last-Modified: Wed, 26 Mar 2014 12:10:02 GMT
Server: Apache-Coyote/1.1
Content-Length: 38205
Connection: keep-alive

但却被这样送去了:

代码语言:javascript
复制
HTTP/1.1 200 OK
**Cache-Control: max-age=31556926, must-revalidate
Content-Type: application/vnd.ms-fontobject
Date: Wed, 26 Mar 2014 23:58:06 GMT
ETag: "08b27bc96115c2d24350f0d09e6a9433f"
**Expires: Fri, 27 Mar 2015 05:46:52 GMT
Last-Modified: Wed, 26 Mar 2014 12:12:12 GMT
**Pragma: no-cache
Server: Apache-Coyote/1.1
**Set-Cookie: JSESSIONID=844B0798B373A3B8ED54A694C9DFB5C5; Path=/; Secure; HttpOnly
Content-Length: 38205
Connection: keep-alive
票数 3
EN

Stack Overflow用户

发布于 2015-05-15 12:32:14

这种情况只发生在IE中的https中。

从那些阻止缓存的相关文件中删除任何HTTP头。

代码语言:javascript
复制
Expires -1
Pragma: no-cache

删除这些文件的缓存控件后,您应该会看到您的图标。重新加载页面后,所有相关的字体文件都应该显示HTTP代码304,即该文件来自浏览器缓存。

票数 2
EN

Stack Overflow用户

发布于 2014-03-26 18:33:53

我也这么想,

与HTTPS上字体相关的字体路径有关

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22670026

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档