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

标签 javascript html css canvas font-face

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

为了等待字体加载,我使用了: https://stackoverflow.com/a/11688948/746269

在 Firefox 中运行良好, 并在第一次打开页面时在 chrome/opera 中工作 但是一旦我刷新页面,并尝试运行相同的代码 它最终以默认的“字体未加载”字体绘制 直到我第二次运行代码。

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

我想也许在刷新之间存在一些变量, 但是尽管所有值都正确,但当我单步执行时,它会绘制默认字体。

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

最佳答案

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

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

关于javascript - @fontface 页面刷新后无法正确加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19569620/

相关文章:

javascript - 内存受限设备上的脚本串联性能特征

html - 在 CSS 中更改嵌入式 youtube 视频的位置

css - 如何从 Angular 中的一个组件控制所有组件的日期格式?

html - 需要在表格中平行显示一行的所有单元格

Tumblr 博客上的 Javascript 重定向出错

javascript - 单击其中一个子元素后,如何更改完整部分的背景颜色?

html - 将输入值发送到 typescript (没有按钮发送)

javascript - 悬停div,显示文本和不透明度

javascript - 在 PHP 中将 Excel 转换为 PDF

javascript - 表单提交时,点击功能和提交的顺序