5

我的网站有一些客户为阻止在 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 声明。

WebFont.load({
  custom: {
    families: ['FontAwesome'],
    urls: ['/local/address/for/fontawesome.css'],
    testStrings: {
      'FontAwesome': '\uf00c\uf000'
    }
  },
  loading: function () {
    console.log("loading");
  },
  fontloading: function (fontFamily, fontDescription) {
    console.log('fontloading: ' + fontFamily);
  },
  fontactive: function (fontFamily, fontDescription) {
    console.log('fontActive: ' + fontFamily);
  },
  fontinactive: function (fontFamily, fontDescription) {
    console.log('fontInActive: ' + fontFamily);
  },
  active: function () {
    console.log("active: loaded all web fonts");
  },
  inactive: function () {
    console.log("inactive: did not load all web fonts");
  }
});

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

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

4

0 回答 0