问题标签 [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.
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 上超时?
google-font-api - 带有 fonts.useso.com 镜像的 Web 字体加载器
中国的防火墙阻止我使用谷歌字体。在中国有一个克隆谷歌字体的服务,叫做 fonts.useso.com
这个镜像可以使用网络字体加载器吗?如果是这样,请告诉我如何。
node.js - phantomjs + 网络字体 + 字体加载器
我在一个环境中运行phantomjsnode.js
,并且进展顺利。目前我只是使用本地字体,但想让谷歌网络字体与 phantomjs 一起使用。
关于是否以及如何使用phantomjs
. 有这样的文章包含带有死链接的过时信息。像这样的帖子表明phantomjs 2.0将或可以支持网络字体,其他人说它不支持,但2.0.1会。在这篇文章中,建议 webfonts 在2.0中工作。
我尝试了很多选项,包括phantomjs 2.0和2.0.1二进制文件,但无法正常工作。可能是我使用web 字体加载器在我的 js 中加载 web 字体,使用以下内容:
但是我总是到达inactive
分支,所以字体加载永远不会成功......即使相同的代码在浏览器中运行良好(到达active
分支。
在字体加载器文档中,它说:
如果 Web Font Loader 判断当前浏览器不支持
@font-face
,则inactive
触发该事件。
我的怀疑是网络字体加载器确实确定浏览器(phantomjs)不支持这个,因此总是到达inactive
.
有人让 phantomjs + web fonts + web font loader 工作吗?
javascript - 让 webfontloader 与 node.js 和 jsdom 一起工作
我有webfontloader在浏览器上下文中运行良好。现在我想看看我是否可以让它在node.js + jsdom上下文中工作,特别是因为 webfontloader 可以作为npm 模块使用。
我已经让 node + jsdom 工作以提供合理的输出,所以我知道那部分正在工作。但是当我尝试集成 webfontloader 来启用网络字体时,我就陷入了困境。
基本上,我使用的是自述文件中记录的 webfontloader 模块,即:
但尽我所能,我得到以下错误:
ReferenceError:未定义窗口
我可以window
从 jsdom 获取一个对象:
但是我如何传递win
给 webfontloader 以window
在该上下文中使用?
也许我表现出我的天真,并要求不可能。
javascript - Web Font Loader - 何时加载所有字体?
我使用网络字体加载器作为一个模块:
我怎样才能知道所有字体何时都处于活动状态?
我试过添加:
但得到错误:
html - 通过正文标签在博客文章中嵌入网络字体?
我想在博客文章中使用网络字体,而不必更改整个网站的代码来合并它。有没有办法在不使用外部 css 或 head 代码的情况下将一段 @font-face 代码添加到页面的正文部分?
javascript - 模块化 js 模式中的 Webfont 加载器
webfont 加载器文档提供了这个示例脚本:
如果我将它直接放在<head>
页面的脚本标记中,它就可以正常工作。如果我将它包装在一个函数中并尝试导出它,我会在控制台中收到此错误:
未捕获的 ReferenceError:未定义 WebFontConfig
这是我尝试包装它的方式:
我在这里做明显错误的事情吗?
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 字体的文件(也可以享受缓存其他浏览器的好处)。
angularjs - 允许用户更改字体
我有一个带有文本的 SVG,我试图让用户通过从谷歌字体加载的选择和选项进行更改。我正在对 google 字体 api 进行 $http 调用,以获取字体列表及其附带的所有信息。我知道 google webfontloader (虽然我不太确定如何实现它),但我仍然很难将文本更改为适当的选定字体。我正在使用 Angularjs。
对于这个问题;如何实现从 API 获取的信息以允许用户更改字体?
angular - Webpack 的 CommonsChunkPlugin 和“import * as”的使用
我学习 Webpack 已经有一段时间了,遇到了一个奇怪的行为。
如angular.io 上的 Webpack 介绍中所述,
我将所有供应商模块导入vendor.ts
-file,所有 polyfills 导入polyfill.ts
-file 并在 -file 中初始化我的应用程序main.ts
。因此,我在 Webpack 的配置中添加了以下入口点和 CommonsChunkPlugin:
因此,Webpack 应该意识到这一点vendor.ts
并app.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');
确实有效。
怎么了?那么为什么所有进口的角度工作呢?