JS中字体文件的加载和使用

本文介绍了如何在JavaScript中使用FontFace对象加载自定义字体,包括loadFont函数加载字体文件和checkFont函数检测字体是否已加载,以及如何在HTML中通过CSS直接应用加载的字体。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、加载字体文件

加载字体文件主要用到 FontFace 这个对象

// 字体加载
function loadFont(_fontName, _fontUrl) {
  // let reg = new RegExp('\\b' + _fontName + '\\b')

  // let _fontFamily = document.body.style.fontFamily

  // if (reg.test(_fontFamily)) {
  //   return
  // }

  if(checkFont(_fontName)) {
    console.log('已有字体:', _fontName)
    return
  }

  let prefont = new FontFace(
    _fontName,
    'url(' + _fontUrl + ')'
  );

  prefont.load().then(function (loaded_face) {

    document.fonts.add(loaded_face);
    // document.body.style.fontFamily = (_fontFamily ? _fontFamily + ',' : _fontFamily) + _fontName;

    console.log('字体加载成功', loaded_face, document.fonts)

  }).catch(function (error) {
    console.log('字体加载失败', error)
  })
}

检测字体文件是否已加载

// 检测字体文件是否已加载
function checkFont(name){
  let values = document.fonts.values();
  let isHave=false;
  let item = values.next();
  while(!item.done&&!isHave)
  {
      let fontFace=item.value;
      if(fontFace.family==name)
      {
          isHave=true;
      }
      item=values.next();
  }
  return isHave;
}

 

2、使用字体

直接在对应的标签上使用 css 中的 fontFamily 赋值你定义的字体名字即可

<div style="font-family: 'simkai';">字体</div>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值