浏览器:是否可以在不刷新页面的情况下重新加载字体?

时间:2019-11-28 15:15:59

标签: javascript css font-face

考虑一个可在画布上渲染内容的应用程序。有以下情况: 用户加载应用程序并使用一段时间。他转到一些不同的视图或更改了使用的字体,但是由于没有连接问题或超时,因此无法加载该字体。一段时间后,连接又恢复了,我们可以为用户加载字体。

是否可以再次加载字体?我试图再次注入字体CSS,并等待字体加载(使用FontFaceObserver),但是浏览器会记住字体加载失败时的状态。

另一个要求:用户可以从多种字体(大约100种)中进行选择,所以我不想在初始化时加载所有字体-字体应按需加载。

1 个答案:

答案 0 :(得分:0)

我认为您的问题可以使用Google的网络字体加载程序库解决,下面是参考链接:https://github.com/typekit/webfontloader 使用步骤:

  • 将JS文件包含到库中
  • 在JS加载程序中添加以下代码块:
WebFont.load({
    google: {
        families: ['Droid Sans']
    },
    timeout:5000,
    fontactive: function(familyName,fvd){ 
        //This is called once font has been rendered in rowser
        //Your business logic goes here
    },
});