HTML链接的预加载没有避免字体加载的重复

HTML链接的预加载是一种优化网页性能的技术,它可以在浏览器空闲时提前加载页面中所需的资源,从而提高页面加载速度,有时候我们会发现,尽管使用了预加载技术,但字体加载仍然重复,这是什么原因呢?

我们提供的服务有:成都网站建设、做网站、微信公众号开发、网站优化、网站认证、凤翔ssl等。为上1000+企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的凤翔网站制作公司

我们需要了解预加载的基本原理,预加载是通过在HTML文件中添加标签来实现的,该标签可以指定要预加载的资源类型、资源URL以及加载方式。


在上面的例子中,我们使用rel="preload"属性来告诉浏览器这是一个预加载请求,href属性指定了字体文件的URL,as="font"表示我们希望将这个资源作为字体加载,type属性指定了资源的MIME类型。

即使我们这样设置了预加载,有时候字体加载仍然会重复,这是因为浏览器在解析HTML文档时,会按照顺序逐个处理标签,当浏览器遇到一个预加载请求时,它会立即尝试加载资源,但如果此时字体文件还没有被缓存,浏览器会重新发起一个新的请求来获取字体文件,这样一来,字体文件就会被下载两次,导致字体加载重复。

为了避免这种情况发生,我们可以使用一种叫做“预加载扫描”的技术,预加载扫描是在浏览器解析HTML文档的过程中,对所有的标签进行预处理,判断哪些资源需要预加载,通过这种方式,我们可以确保只有在真正需要的时候才发起预加载请求。

实现预加载扫描的方法有很多,其中一种比较简单的方式是使用JavaScript,我们可以在

Hello, World!

在上面的例子中,我们在