我有一个非常讨厌的问题。我们的一位客户要求我们在他们使用font-face嵌入的网站上使用非标准字体。字体文件位于我们的服务器上,这在不使用https的情况下适用于所有Web浏览器。我一直在使用opentype字体用于IE的大多数浏览器和.woff文件。问题来自我们添加https,然后这些字体将不再加载到IE所有版本!它在所有其他网络浏览器中仍然可以正常工作,而不是IE!
页面使用IIS提供,因此所有与Apache服务器相关的答案都无关紧要。客户付费能够使用字体文件,但这并不妨碍他们被禁止上传到Font Squirrel,因此将它们编码为64格式也不是一个可行的解决方案。
我注意到加载字体时只会遇到问题。如果我关闭https,字体将加载,如果我重新打开https而不对我的浏览器进行硬刷新,页面仍会显示正确的字体,但如果我进行硬刷新,字体就会消失!
任何人都知道如何解决这个问题?
我还会在这里添加实际的css代码:
@font-face{
font-family: 'FranklinGothic';
src: local("Franklin Gothic Std Extra Condensed"), url( /font/FranklinGothicStd-ExtraCond.otf ) format("opentype");
}
@font-face{
font-family: 'FranklinGothicIE';
src: url(/font/franklingothicstd-extracond.woff) format('woff'); /* IE */
}
@font-face{
font-family: 'FranklinGoth';
src: local("Franklin Gothic Std Extra Condensed"), url( /font/ITCFranklinGothicStd-DmCd.otf ) format("opentype");
}
@font-face{
font-family: 'FranklinGothIE';
src: url(/font/66864014-ITCFranklinGothic-Std-DmCd.woff) format('woff'); /* IE */
}
答案 0 :(得分:0)
我在this post中找到了答案,其中有建议要删除缓存控件。一旦我将它添加到我的web.config,它就可以在IE中使用了:
<system.webServer>
...
<httpProtocol>
<customHeaders>
<remove name="Cache-control"/>
</customHeaders>
</httpProtocol>
</system.webServer>
答案 1 :(得分:0)
我有同样的问题。我只需要将虚拟目录转换为应用程序。 该web.config不包含删除Cache-Control,而是为woff2添加mime-type