如何延迟加载 <amp-ad>?

How to lazy-load <amp-ad>?

我正在创建一个 AMP 网站,到目前为止,一切进展顺利。 默认情况下,元素是延迟加载的,这意味着当标签距离当前视口几个像素时,会触发获取实际内容的请求。当页面很长并且用户可能不会向下滚动到页面底部时,这非常有用。它节省了一些请求!

我们可以对元素做同样的事情吗?我还没有找到任何关于此的文档,但它可以节省更多的 HTTP 请求,因为这些广告通常会触发对广告商的大量请求。

谢谢!

您可以使用 amp-ad 中的惰性功能。就像将 data-lazy-fetch="true" 属性添加到 amp 标记并指定广告上方的视口数量以使用 data-loading-strategy 属性开始加载一样简单。我相信默认情况下它使用 3 个视口,但您可以调整它。 完整示例:

<!-- Lazy ad that will start loading after the user is one viewport above ad -->
<amp-ad ... data-lazy-fetch="true" data-loading-strategy="1"></amp-ad>

更多信息here