页面刷新后@fontface无法正确加载

时间:2013-10-24 15:04:05

标签: javascript html css canvas font-face

我有一个页面,使用通过@ font-face加载的字体将字符串绘制到画布上。

要等待加载字体,我用过: https://stackoverflow.com/a/11688948/746269

哪个在firefox中运行正常, 并在第一次打开页面时使用chrome / opera 但是一旦我刷新页面,并尝试运行相同的代码 它最终以默认的“font not loaded”字体绘制 直到我第二次运行代码。

除非我打开一个新窗口或右键单击刷新并选择“清空缓存和硬重载”, 它会在第一次失败时失败。

我想也许有些变数在刷新之间徘徊, 但是当我逐步完成所有值都正确时,它会绘制默认字体。

我不能告诉客户端不刷新页面,我根本看不到解决方案。 任何帮助将不胜感激:)

2 个答案:

答案 0 :(得分:1)

我通过将其添加到html中解决了这个问题 发现webkit以不同的方式加载字体到firefox和IE,在html中第一次使用它们时加载它们。

<div style="font-family: MyFontName; visibility: hidden; height: 0px; width:0px;">a</div>

答案 1 :(得分:0)

我遇到了同样的问题,我只是通过在我的页面中引用ModernizerJS脚本来解决它。