背景:
埋点代码埋到网站后, 新引入的字体文件始终不显示
解决过程:
- 查看接口请求发现, 只引入了 css 文件, 未引入 @font-face 指定的字体文件
- 以为是打包错误, @font-face 在指定路径请求不到字体文件, 但实际上字体文件就在那儿, 没问题
- 于是直接引入 iconfont 的 cdn 链接, 结果发现还是不行, 初步排除是字体文件路径问题
- 尝试直接在客户网站显示图标, 结果发现, 不加埋点代码到客户网站, 直接在客户网站显示图标就没问题, 加了之后, 埋点代码生成的 div 显示不了图标, 其他地方可以(一步步从外层到里层, 发现到某一层后图标显示不了)
- 查看控制台, 发现有一处样式写的
.className *::before { display: none; }
, 在结合之前搜索到的font-face 指定多个字体文件, 未用到的字体文件不加载, 推测是因为该样式导致字体不显示, 于是 font-face 不引入文件
结论:
- font-face 指定多个字体文件, 未用到的字体文件不加载
- 确保自己的样式没有被别的代码影响导致图标不显示