css - 自定义字体在 IE 中消失

标签 css internet-explorer caching font-face

这是我第一次看到自定义字体嵌入发生这种情况。作为引用,我有几十个使用自定义字体的客户站点没有问题。

这个特定的客户有自己创建的自定义字体文件。不幸的是,有问题的应用程序存在于主站点的 iframe 中(域/子域匹配,但在主页、iframe 和字体文件之间)。

当页面第一次加载时,字体显示得很漂亮。我一刷新页面,字体就被破坏了:它恢复为后备 ("Sans-Serif") 字体,并且字母间距都被抬高了。

有 3 个单独的字体文件被使用,都显示相同的行为。我相信这是一个缓存问题。最初正确显示的字体表明文件没问题,引用路径正确,并且域安全不是问题。

我们为嵌入使用 font-squirrel 生成的 css。到目前为止,我只在 IE8 上进行过测试,但有人告诉我 IE9 也有同样的问题。其他浏览器似乎没有任何字体问题。

不幸的是,我无法分享这是针对哪个网站的。

@font-face {
    font-family: 'myfont70';
    src: url('../font/myfont-070.eot');
    src: url('../font/myfont-070.svg#myfont70') format('svg'),
    url('../font/myfont-070.eot?#iefix') format('embedded-opentype'),
    url('../font/myfont-070.woff') format('woff'),
    url('../font/myfont-070.ttf') format('truetype'),
    url('../font/myfont-070.svg#myfont70') format('svg');
    font-weight: normal;
    font-style: normal;
}

(SVG 的双重声明是有意的)

谢谢!

最佳答案

具体是在IE的iframe中被持有造成的。解决方案是刷新声明字体系列的 css 标记上的 href。这并不理想,因为它会触发 css 的重新加载,并且字体会立即闪烁到它们的后备状态。

如果有人有更好的解决方案,我会全神贯注。

关于css - 自定义字体在 IE 中消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16421263/

相关文章:

html - 最佳基础html嵌套实践

javascript - 背景图像 SVG 动画停止在 chrome 上工作

html - IE8 及以下评论不起作用

caching - memcached 是否有不同的设计以更好地处理更大的负载?多线程是否使其更适合更大的值?

html - 我正在为响应创建 ul li 子菜单,到目前为止我不知道如何为移动设备编写我已经完成了这个

jquery - CSS Accordion 菜单,在 IE Quirks 模式下不起作用

javascript - 使用 jQuery 动态呈现选择框的问题

caching - 应该使用内存 Db 中的哪个来缓存主要用于读取的树?

ios - 如何在 iOS 上为多个表缓存从服务器加载的图像

css - 在不影响布局的情况下将 glyphicon 添加到不是使用 bootstrap 创建的网页