gpt4 book ai didi

apache - 通过 SSL 访问 Web 时,字体不会在 IE8 和 IE9 中加载

转载 作者:太空宇宙 更新时间:2023-11-03 13:41:45 24 4
gpt4 key购买 nike

我正在为我的网站使用 webfont(使用 Spring 为 Apache Tomcat 6 服务器制作)。我将我的字体包含在我的 css 文件中,字体为:

@font-face{
font-family:'FontAwesome';
src:url('fonts/fontawesome-webfont.eot?v=3.0.1');
src:url('fonts/fontawesome-webfont.eot?#iefix&v=3.0.1') format('embedded-opentype'),
url('fonts/fontawesome-webfont.woff?v=3.0.1') format('woff'),
url('fonts/fontawesome-webfont.ttf?v=3.0.1') format('truetype');
font-weight:normal;
font-style:normal }

此 css 在“layout.jsp”文件中调用,该文件由所有其他 jsp 页面调用,内容如下:

 <link href="<c:url value='/styles/font-awesome.min.css'/>" rel="stylesheet" type="text/css"/>

当我通过 http:///webSite 在内部访问我的网站时,这适用于所有浏览器

但是,我们还有一个 Apache 服务器,它通过 URL https:///中的 SSL(使用安全证书)为网站提供服务,重定向到之前的 URL。使用 SSL-https 配置时,网络在每个浏览器中都运行良好,但字体在 IE8 和 IE9 中均未加载。

这是:- 通过 http:字体在每个浏览器中加载良好,包括 IE8 和 IE9- 通过 https:字体在每个浏览器中都能很好地加载,但 IE8 和 IE9

可以随时从浏览器访问该字体。也就是说,如果我写文件的路径,我可以毫无问题地下载它。此外,在资源管理器的开发人员工具下,在网络选项卡中,我可以看到字体已正确下载(状态:200)。

我尝试使用其 byte64 编码将我的字体完全包含在我的 CSS 中,而不是使用 fontSquirrel 生成器的文件路径:

@font-face {
font-family: 'fontawesomeregular';
src: url('fonts/fontawesome-webfont.eot');
}

@font-face {
font-family: 'fontawesomeregular';
src: url(data:application/x-font-woff;charset=utf-8;base64,[BYTE64_STRING]) format('woff'),
url('fonts/fontawesome-webfont.ttf') format('truetype');
font-weight: normal;
font-style: normal;

}

这样做,字体在 IE9 中加载良好,但在 IE8 中加载不佳。起初,我认为这可能是由于 URL 的 32Kb 限制引起的。因此,我减少了字体的字符集以将其大小减小到大约 20kb,但在 IE8 中仍然没有成功。

有什么帮助吗?

最佳答案

我遇到了完全相同的问题,今天终于解决了。我注意到一种特定的网络字体在 IE8/9 中可以在一个 HTTPS 域上运行,但不能在另一个域上运行。该域的服务器正在为 .eot 请求发送以下 HTTP 响应 header :

Cache-Control: no-cache

删除此 header 后,字体又可以在 IE8/9 中使用了。我希望这对您也有帮助。

关于apache - 通过 SSL 访问 Web 时,字体不会在 IE8 和 IE9 中加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18890815/

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