对于同一标签如何同时使用rel =“ preload”和rel =“ stylesheet”?

问题描述 投票:0回答:1

Google Pagespeed测试与样式表一起使用时无法识别预加载。我尝试过

<link rel="preload stylesheet" href="http://www.example.com/style.css" />

并且它仍然显示“考虑用于优先获取当前在页面加载中稍后请求的资源”。如果我从rel属性中删除样式表,它将识别出预加载。

我正在尝试尝试此操作:

<link rel="preload" rel="stylesheet" href="http://www.example.com/style.css" />

但是我不确定同一链接标签是否可以具有2个相同的属性。这行得通吗?

css preload google-pagespeed
1个回答
0
投票

要异步加载CSS样式,应将其表示为预加载样式表。每次单独使用rel="preload"时,它在页面加载时都不会转换为样式表,并且将保持为preload,因此,将其表示为样式表时,应使用另一个属性,例如as来指示元素的类型和在您的情况下,应为style。然后,您需要在加载过程完成时告诉浏览器,您需要以此作为样式表,因此您必须定义另一个属性,例如onload,并定义该元素的实际rel是什么。

所以您必须像这样导入它:

<link rel="preload" as="style" onload="this.rel='stylesheet'" href="http://www.example.com/style.css" />
© www.soinside.com 2019 - 2024. All rights reserved.