一种字体文件加载方法、装置、电子设备及存储介质制造方法及图纸

技术编号:35295909 阅读:29 留言:0更新日期:2022-10-22 12:43
本申请提供一种字体文件加载方法、装置、电子设备和计算机可读存储介质,在该方法中先获取目标网站的源码文件和预设字体文件,将源码文件转换为抽象语法树,从抽象语法树的目标节点中提取静态文本,处理静态文本得到第一字符集,然后根据第一字符集和预设字体文件生成静态字体文件和动态字体文件,最后在浏览器的初始运行时间段加载静态字体文件和目标网站,在浏览器的第二运行时间段加载动态字体文件和目标网站,第二运行时间段在初始运行时间段之后。本申请提升了静态文本提取效率和提取完整度,且在不堵塞网站加载的同时实现了动态文本的个性化显示,即,本申请的字体文件加载方法适用场景较为广泛,在前端性能优化方面具有较大的优势。较大的优势。较大的优势。

【技术实现步骤摘要】
一种字体文件加载方法、装置、电子设备及存储介质


[0001]本申请涉及计算机
,尤其涉及一种字体文件加载方法、装置、电子设备及存储介质。

技术介绍

[0002]浏览器中显示的各网页通常会包含数字、英文、汉字、符号等各类元素,各元素也会具有多种字体,各元素及对应的字体共同构成一个字体包,浏览器在运行时需先加载该字体包才能显示各网页上的文本内容。其中,由于汉字的数量本身较多,汉字的字体类型也较多,使得中文字体包的体积较大,在整个字体包中的体积占比也较高,则加载整个字体包的耗时较长,造成访问速度较慢,用户体验不佳。
[0003]针对此情况,当前采用字蛛方案来进行减包,具体为开发者先统计浏览器需要显示的所有页面,逐个页面找出需显示的静态文本,将这些静态文本复制到新建的HTML文件中,然后启动字蛛的脚本程序,字蛛以HTML文件为入口文件,扫描文件中所有中文字符并去除重复字符得到一个中文字符数组,再遍历预设中文字体包,依据上述数组里存在的中文字符,删除预设中文字体包里不存在的中文字符,最终只留下与数组里一致的中文字符,得到一个只包含指定中文字本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种字体文件加载方法,其特征在于,包括:获取目标网站的源码文件和预设字体文件;将所述源码文件转换为抽象语法树,从所述抽象语法树的目标节点中提取静态文本,处理所述静态文本得到第一字符集;根据所述第一字符集和所述预设字体文件生成静态字体文件和动态字体文件;在浏览器的初始运行时间段加载所述静态字体文件和所述目标网站,在所述浏览器的第二运行时间段加载所述动态字体文件,所述第二运行时间段在所述初始运行时间段之后。2.如权利要求1所述的字体文件加载方法,其特征在于,将所述源码文件转换为抽象语法树,从所述抽象语法树的目标节点中提取静态文本,处理所述静态文本得到第一字符集的步骤,包括:获取至少一种目标文件类型的源码文件;通过抽象语法树转译器分别解析不同目标文件类型的源码文件,得到各类源码文件对应的抽象语法树;遍历所有抽象语法树的目标节点,从各目标节点中提取静态文本并组合;处理组合后的所有静态文本,得到多个唯一的第一字符,根据所述多个唯一的第一字符生成第一字符集。3.如权利要求2所述的字体文件加载方法,其特征在于,遍历所有抽象语法树的目标节点,从各目标节点中提取静态文本并组合的步骤,包括:根据各类源码文件的目标文件类型,确定各类抽象语法树的目标节点类型;根据所述目标节点类型,遍历所有抽象语法树的目标节点,从各目标节点中提取静态文本并组合。4.如权利要求2所述的字体文件加载方法,其特征在于,处理组合后的所有静态文本,得到多个唯一的第一字符,根据所述多个唯一的第一字符生成第一字符集的步骤,包括:对组合后的所有静态文本进行分割,得到组成各静态文本的多个第二字符,根据所述多个第二字符生成第二字符集;对所述第二字符集中各第二字符进行去重处理,得到多个唯一的第一字符,根据所述多个唯一的第一字符得到第一字符集。5.如权利要求1所述的字体文件加载方法,其特征在于,根据所述第一字符集和所述预设字体文件生成静态字体文件和动态字体文件的步骤,包括:提取所述预设字体文件中的多个预设字符,得到预设字符集;对所述第一字符集和所述预设字符集进行交集处理,根据处理结果,从所述预设字符集中确定位于交集的静态字符和位于非交集的动态字符;根据所述静态字符和所述预设字体文件生成静态字体文件,根据所述动态字符和所述预设字体文件生成动态字体文件。6.如权利要求1所述的字体文件加载方法,其特征在于,在浏览器的初始运行时间段加载所述静态字体文件和所述目标网站,在所述浏览器的第二运行时间段加载所述动态字体文件的步骤,包括:在浏览器的初始运行时间段加载所述静态字体文件和所述目标网站中的初始网页;
在所述静态字体文件加载完成后,基于所述静态字体文件显示所述初始网页中的静态文本,基于所述浏览器的默认字体文件显...

【专利技术属性】
技术研发人员:杨泽伟
申请(专利权)人:网易杭州网络有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1