所以事情就是这样,我们有一个 saas web 应用程序,它使用一种特殊的字体来显示图标。因此,我们不使用大量的 png,而是使用 a<span>
和 class icon
。
CSS文件以@font-face标签开头,主要由fontsquirrel生成,如下所示:
@font-face {
font-family: 'iconsregular';
src: url('../../Content/fonts/icons-webfont.eot');
src: url('../../Content/fonts/icons-webfont.eot?#iefix') format('embedded-opentype'),
url('../../Content/fonts/icons-webfont.woff') format('woff'),
url('../../Content/fonts/icons-webfont.ttf') format('truetype'),
url('../../Content/fonts/icons-webfont.svg#iconsregular') format('svg');
font-weight: normal;
font-style: normal;
}
这在我们所有支持的浏览器(IE7、8、9、FF、Safari 和 Chrome)中都能完美显示。但是当通过远程桌面客户端访问该网站时。不使用网络字体。但是会下载CSS 文件和 .eot 文件。
重现错误
所以我开始测试并试图重现这个问题。当我采取这些步骤时,发生了错误:
- 连接到远程桌面 A (Server 2008)
- 打开 IE9
- 浏览网站
- 未显示字体。
然后我连接到另一台服务器:
- 连接到远程桌面 B (Server 2008)
- 打开火狐
- 浏览网站
- 显示字体!
- 用IE9打开网站
- 还显示了字体,其中一些适用于 Chrome
在这个惊喜之后,我再次重新连接到 RD A。
- 打开 IE9
- 显示字体...
似乎 RDP 客户端在某处某时缓存其字体。
这种情况何时以及如何发生?有没有办法强制 RDP 客户端下载和显示@font-face webfonts?