像这样将视网膜屏幕和非视网膜屏幕分别显示在相应的设备上:
<picture>
<source srcset="non-retina.jpg, retina.jpg 2x">
<img src="non-retina.jpg">
</picture>
功能正常。但Google Pagespeed Insight提示在CSS加载之前无法呈现它,因此我们会受到惩罚。然而,这仅适用于移动视图,在该情况下,Pagespeed Insights无论如何都会呈现Retina图像。
我们的完整CSS文件在页脚中,因为我们将关键的above-the-fold CSS内联在头部。
然而,这段代码可以正常工作,没有任何来自Pagespeed Insights的投诉。
<picture>
<img src="non-retina.jpg">
</picture>
我们漏掉了什么?浏览器是否需要读取样式规则才能知道使用哪个源/ srcset 图像?
测试用例:
这是一个测试页面: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
您能否提供受影响的网页链接或显示页面速度问题的简化测试用例? - ausi