由于采用Google AMP(amp-img),因此Google PageSpeed的罚款“延迟屏外图像”。看来PageSpeed鼓励AMP加载所有图像!在AMP之前,我使用JS来放置位于初始视口之外的LazyLoad图像。我愿意就如何保留AMP提出建议,但要避免PageSpeed损失。
示例:(此图像的代码位于初始视口下方,靠近页面底部)
::::页面顶部-初始视口区域::: ……“折” 页外,折叠下方,视口第二页底部附近的
在PageSpeed上进行评分时,尽管该图像不在页面上,但AMP运行时不会延迟加载并导致罚分!
(已删除代码,因为StackOverflow编辑器拒绝了它!)
由于AMP禁止了我的旧JS LazyLoad技术,因此我受制于这种AMP行为:“运行时可能会根据视口位置,系统资源,连接带宽或其他因素选择延迟或优先处理资源加载。 ” (https://amp.dev/documentation/components/amp-img?format=websites) 因此,似乎通过采用AMP,我已经放弃了对Google AMP运行时的延迟加载的控制,“可能”选择延迟。当PageSpeed对AMP页面进行评分时,您会认为AMP运行时会给人留下深刻的印象,对吧?您会认为AMP运行时将“选择延迟”(amp-img)内容显示在页面外(不在初始视口区域内)。你会错的。
PageSpeed惩罚消息如下:
”推迟屏外图像。 在所有关键资源完成加载后,考虑延迟加载屏幕外的图像和隐藏的图像,以缩短交互时间。”
我喜欢AMP,但是PageSpeed的员工是否有机会与AMP的员工合作?我同意PageSpeeds对这种情况的描述,称其为“机会”。可悲的是,当我采用AMP时,我似乎已经把这个“机会”交给了AMP运行时……并为此受到了惩罚。
任何人都可以提供实用的解决方法,以便在使用(amp-img)定位超出初始视口的图像时,我可以保留AMP但不会在PageSpeed上受到惩罚吗?