Tampermonkey如何引入字体文件

Tampermonkey 字体文件

实现思路

目前无法直接引用字体文件。
用脚本创建<link>元素元素来引入,有太笨,速度还慢。
好在,我们有 base64 这座桥梁。
可以把字体文件 转为 base64 字符串。再作为单纯的 css 文件引入即可

  • 需要的权限
    GM_getResourceText
    GM_addStyle

以导入 elementUI 图标字体为示例

小白引入:

// ==UserScript==
......
// @grant        GM_addStyle
// @grant        GM_getResourceText
// @resource     elementCSS  https://unpkg.com/element-ui/lib/theme-chalk/index.css
......
// ==/UserScript==
GM_addStyle(GM_getResourceText('elementCSS'));

效果:

小白效果图

你会发现,里面的图标全部不能正常显示。

正确引入:

// ==UserScript==
......
// @grant        GM_addStyle
// @grant        GM_getResourceText
// @resource     elementIcon  file:///D:\nut\codes\jsLib\elementV2.13.0\element-icons.css
// @resource     elementCSS  https://unpkg.com/element-ui/lib/theme-chalk/index.css
......
// ==/UserScript==
GM_addStyle(GM_getResourceText('elementIcon'));
GM_addStyle(GM_getResourceText('elementCSS'));

制作 字体CSS文件

怎样制作CSS文件?

  1. 打开这个 任意文件转base64 的网页 ,把字体文件拖到里面。

  2. 把下面这段代码稍作修改即可。
    字体名称,url()里面的数据,字体格式,都改变一下。
    如果你不知道怎么修改,那就去网络上面搜索下吧,这里不再赘述。

@font-face{
  font-family:element-icons;
  font-weight:400;
  font-display:"auto";
  font-style:normal;
  src:url(data:application/font-woff;base64,d09GRgABAAA...[N个字符]...AAb/wWax2lD) format("woff");
}

正确效果:

正确效果图

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.前言 之前写过 JS 的写作建议和技巧,那么今天就来聊聊 CSS 吧! 说到 CSS,每一个网页都离不开 CS...
    美洋洋_4f15阅读 395评论 0 2
  • 1.CSS基本概念 1.1 CSS的定义 CSS(Cascading Style Sheets)层叠样式表,主要用...
    寥寥十一阅读 1,866评论 0 6
  • vue去哪网跟学笔记 记录学习点滴 1. 初始化项目 1.1 手机显示配适 minimum-scale=1.0,m...
    noobakong阅读 2,280评论 0 16
  • 一、理论基础知识部分 1.1、讲讲输入完网址按下回车,到看到网页这个过程中发生了什么 a. 域名解析 b. 发起T...
    我家媳妇蠢蠢哒阅读 3,155评论 2 106
  • 我最亲爱的妈妈,我是你的小宝宝,从什么时候开始认识你的呢?我也记不清啦,好早好早,或者是上一辈子也说不定哦! 我现...
    莞小主阅读 449评论 0 0