问题标签 [webfont-loader]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
829 浏览

css - Web Font Loader - FontAwesome 总是在 IE 中报告非活动状态

我的网站有一些客户为阻止在 IE 中下载字体的组织工作,所以我需要为 FontAwesome 创建后备选项。我正在尝试使用 Web 字体加载器来检测 FontAwesome 是否正确加载,但 Web 字体加载器总是报告 FontAwesome 加载失败,即使我可以看到 FontAwesome 图标已加载。我已经测试了 IE 9/10/11。

您可以在https://vnext.radresponder.net上查看此操作。您将看到在 Firefox 和 Chrome 中,FontAwesome 已正确加载并标记为活动;但是,在 IE 中,字体加载但 Web 字体加载器触发加载失败回调并将非活动类附加到 HTML 标记。我有特殊的 CSS 来加载一些后备字符来替换随后加载的 FontAwesome 图标。

从 web 字体加载器 GitHub 页面,我没有看到任何与 IE 列出的不兼容性,所以我认为这应该可以工作。

这是我的 WebFont.load 声明。

编辑 - 2015/05/27 上午 9:58

我将超时从默认的 3 秒更改为 10 秒,负载肯定会占用所有 10 秒然后超时。我不确定那是什么意思。为什么它只在 IE 上超时?

0 投票
1 回答
1804 浏览

google-font-api - 带有 fonts.useso.com 镜像的 Web 字体加载器

中国的防火墙阻止我使用谷歌字体。在中国有一个克隆谷歌字体的服务,叫做 fonts.useso.com

这个镜像可以使用网络字体加载器吗?如果是这样,请告诉我如何。

0 投票
2 回答
1771 浏览

node.js - phantomjs + 网络字体 + 字体加载器

我在一个环境中运行phantomjsnode.js,并且进展顺利。目前我只是使用本地字体,但想让谷歌网络字体与 phantomjs 一起使用。

关于是否以及如何使用phantomjs. 有这样的文章包含带有死链接的过时信息。像这样的帖子表明phantomjs 2.0将或可以支持网络字体,其他人说它不支持,但2.0.1会。在这篇文章中,建议 webfonts 在2.0中工作。

我尝试了很多选项,包括phantomjs 2.02.0.1二进制文件,但无法正常工作。可能是我使用web 字体加载器在我的 js 中加载 web 字体,使用以下内容:

但是我总是到达inactive分支,所以字体加载永远不会成功......即使相同的代码在浏览器中运行良好(到达active分支。

字体加载器文档中,它说:

如果 Web Font Loader 判断当前浏览器不支持@font-face,则inactive触发该事件。

我的怀疑是网络字体加载器确实确定浏览器(phantomjs)不支持这个,因此总是到达inactive.

有人让 phantomjs + web fonts + web font loader 工作吗?

0 投票
1 回答
1717 浏览

javascript - 让 webfontloader 与 node.js 和 jsdom 一起工作

我有webfontloader在浏览器上下文中运行良好。现在我想看看我是否可以让它在node.js + jsdom上下文中工作,特别是因为 webfontloader 可以作为npm 模块使用。

我已经让 node + jsdom 工作以提供合理的输出,所以我知道那部分正在工作。但是当我尝试集成 webfontloader 来启用网络字体时,我就陷入了困境。

基本上,我使用的是自述文件中记录的 webfontloader 模块,即:

但尽我所能,我得到以下错误:

ReferenceError:未定义窗口

我可以window从 jsdom 获取一个对象:

但是我如何传递win给 webfontloader 以window在该上下文中使用?

也许我表现出我的天真,并要求不可能。

0 投票
1 回答
3341 浏览

javascript - Web Font Loader - 何时加载所有字体?

我使用网络字体加载器作为一个模块:

我怎样才能知道所有字体何时都处于活动状态?

我试过添加:

但得到错误:

0 投票
2 回答
120 浏览

html - 通过正文标签在博客文章中嵌入网络字体?

我想在博客文章中使用网络字体,而不必更改整个网站的代码来合并它。有没有办法在不使用外部 css 或 head 代码的情况下将一段 @font-face 代码添加到页面的正文部分?

0 投票
1 回答
693 浏览

javascript - 模块化 js 模式中的 Webfont 加载器

webfont 加载器文档提供了这个示例脚本:

如果我将它直接放在<head>页面的脚本标记中,它就可以正常工作。如果我将它包装在一个函数中并尝试导出它,我会在控制台中收到此错误:

未捕获的 ReferenceError:未定义 WebFontConfig

这是我尝试包装它的方式:

我在这里做明显错误的事情吗?

0 投票
0 回答
718 浏览

internet-explorer - 使用 webfont 加载器提供谷歌字体在 ie11 上不起作用

我正在尝试使用 WebFontLoader 从 Google Fonts 加载字体。

它在除 IE 11 + Microsoft Edge 之外的所有浏览器上都能完美运行。

问题:第一次加载字体时,它没有显示出来。在此页面中有两个 iFrame。第一次加载时,第一个 iFrame 未加载,但第二个 加载正常

但是当我点击刷新时,两个 iFrame 都 正确加载

这让我觉得它与缓存有关——它第一次没有加载的文件。

从我在这里读到的内容: Icon fonts not loading in IE11 and other places 我理解这是 IE 无法加载带有无缓存标志的文件的问题。

网络上的各种答案声称可以通过从服务器中删除“no-cache”标志或设置“Cache-Control”max-age=3600”标志来解决这个问题。

问题是我自己没有提供文件,它们是直接从 Google Fonts 使用 WebFont-Loader 动态加载的,我无法更改这些标志。

由于产品方面的考虑,我无法自己托管它们,我只能提供来自 Google 字体的文件(也可以享受缓存其他浏览器的好处)。

0 投票
1 回答
534 浏览

angularjs - 允许用户更改字体

我有一个带有文本的 SVG,我试图让用户通过从谷歌字体加载的选择和选项进行更改。我正在对 google 字体 api 进行 $http 调用,以获取字体列表及其附带的所有信息。我知道 google webfontloader (虽然我不太确定如何实现它),但我仍然很难将文本更改为适当的选定字体。我正在使用 Angularjs。

对于这个问题;如何实现从 API 获取的信息以允许用户更改字体?

0 投票
1 回答
766 浏览

angular - Webpack 的 CommonsChunkPlugin 和“import * as”的使用

我学习 Webpack 已经有一段时间了,遇到了一个奇怪的行为。

angular.io 上的 Webpack 介绍中所述, 我将所有供应商模块导入vendor.ts-file,所有 polyfills 导入polyfill.ts-file 并在 -file 中初始化我的应用程序main.ts。因此,我在 Webpack 的配置中添加了以下入口点和 CommonsChunkPlugin:

因此,Webpack 应该意识到这一点vendor.tsapp.ts使用通用模块并将其添加到vendor.js-file 中。vendor.ts-file 看起来像这样:

不幸的是,这种行为对我通过 导入的所有模块都按预期import MODULE工作,但对我通过 导入的模块不起作用import * as ALIAS from MODULE。在这个例子中,webfontloader-module 被写入app.js,因为我也在那里导入它,尽管它也应该与vendor.ts-file 共享依赖关系。

当我改变import * as WebFont from 'webfontloader';let WebFont = require('webfontloader');确实有效。

怎么了?那么为什么所有进口的角度工作呢?