在类似的设备上显示视网膜和非视网膜:

<picture>
   <source srcset="non-retina.jpg, retina.jpg 2x">
   <img src="non-retina.jpg">
</picture>

作品。但是Google Pagespeed Insight告诉我们,在加载CSS之前,它无法呈现此图像,因此我们会为此受到惩罚。但是,仅在移动 View 中-这是Pagespeed Insights始终渲染视网膜图像的唯一情况。

我们完整的CSS文件位于页脚中,因为我们的首尾具有至关重要的内联CSS。

但是,此代码可以正常使用,而Pagespeed Insights没有任何投诉
<picture>
  <img src="non-retina.jpg">
</picture>

我们缺少什么?在知道要采用哪个源/ srcset-image之前,浏览器是否必须阅读某些样式规则?

测试用例:

这是它的测试页:http://pagespeed-srcset-nopicturefill.slople.com/
...
结果如下:https://developers.google.com/speed/pagespeed/insights/?url=http%3A%2F%2Fpagespeed-srcset-nopicturefill.slople.com%2F&tab=mobile

最佳答案

在Header中添加CSS,并在链接标记中使用defer属性。这将允许css首先在客户端下载,但在整个文档加载后读取。

10-08 15:34