【发布时间】:2012-03-30 12:04:06
【问题描述】:
我正在为公共 wifi 接入点设计一个启动页面,而 Firefox 拒绝显示我的自定义字体,而它在所有其他浏览器中都可以使用(嗯,不是 IE
页面需要在以下约束下工作:
- 无法访问互联网:在用户接受条款和条件之前显示此页面,因此所有内容都被阻止
- 页面存储在访问点上:这意味着嵌入式服务器可能是用 C 编写的,我不能真正添加额外的标题或其他东西。好吧,它是开源的,所以它可能是可能的,但我肯定不是嵌入式开发人员!
- WiFi 用于宣传其所在的小镇,因此应尽可能美观。
为了满足这些限制,我使用了带有数据 uri 的 @font-face,如下所示:
@font-face {
font-family: Lato-Light;
src: url(data:application/font-woff;base64,<large base64 string>)
format('woff');
}
h1{
font-family: Lato-Light, Helvetica, sans-serif;
}
它就像一个魅力......除了在 Firefox 中。现在我知道它不适用于旧版 IE,但我已经准备好使用它。但我觉得奇怪的是,所谓的现代浏览器不提供该功能。为什么这不起作用?
编辑:当然,我对后备有很多想法,但我的问题更多:为什么 firefox 的这种行为与其他浏览器不同?是安全设置吗? data-uri 实现中的错误? data-uri 的大小限制?
【问题讨论】:
-
您不能将字体作为另一个资源提供给已提供此页面的同一访问点上的另一个资源吗?
-
也许吧。我还没有探索这种可能性,所以我这样做是为了应对更糟糕的情况。我还没有接触到真正的硬件,但要求我这样做的人不确定这是否可能。但是,我的问题更多:嘿,为什么 Firefox 的行为不像其他人那样?
-
这应该可以。您是否有指向显示问题的页面的链接?
标签: firefox css font-face data-uri woff