欢迎使用 AdSense 帮助中心。由于适逢节日季,我们在 12 月 17 日至 1 月 4 日期间将无法提供支持服务。建议您访问我们的帮助中心社区论坛,获取更多资源。对于由此可能给您带来的任何不便,我们深表歉意,同时也感谢您在此期间的耐心等待。

广告单元

使用 data-ad-status 参数隐藏广告空缺的广告单元

AdSense 广告单元会在发出广告请求后进行更新,以指明广告单元是已填充广告素材,还是处于广告空缺状态。您可以通过查看 AdSense 报告中的平均覆盖率,了解广告空缺的广告单元所占的百分比。

当广告单元完成对广告的请求后,AdSense 会向 <ins> 元素添加一个名为 data-ad-status 的参数。注意:请勿将 data-ad-statusdata-adsbygoogle-status 相混淆,后者由我们的广告代码用于广告处理目的。

根据系统是否返回广告,此参数将更新为以下项之一:

data-ad-status="filled" 系统向广告单元返回了一个广告,该广告正在展示。
data-ad-status="unfilled" 系统未返回任何广告,广告单元为空。

AdSense 如何处理广告空缺的广告单元

当 AdSense 广告单元处于“广告空缺”状态时,我们会尝试隐藏该广告单元,或展示空白区域。我们仅会在广告单元不会导致网页自动重排的情况下隐藏它们,也就是说,我们仅会隐藏位于视口之外的广告单元。对于所有其他广告空缺的广告单元,我们会保留广告单元大小,并展示空白区域。

如何隐藏广告空缺的广告单元

高级内容(高级)您可以决定使用 CSS 还是 JavaScript 来改进此行为。例如,如果您想要隐藏所有广告空缺的广告单元,可以使用 CSS 向元素应用 display: none !important; 样式。

示例 1:使用 CSS 隐藏广告空缺的广告单元

您可以将以下 CSS 样式添加到网页中,以自动隐藏广告空缺的广告单元:

HTML
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle"
     style="display:block"
     data-ad-client="ca-pub-1234567890"
     data-ad-slot="1234567890"
     data-ad-format="auto"
     data-full-width-responsive="true"></ins>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script>
CSS
ins.adsbygoogle[data-ad-status="unfilled"] {
    display: none !important;
}

示例 2:仅在广告单元出现广告空缺时展示图片

如果广告单元未展示广告,您可以改为选择展示自家广告:

HTML
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle"
     style="display:inline-block;width:300px;height:250px"
     data-ad-client="ca-pub-1234567890"
     data-ad-slot="1234567890">
    <a href="/page"><img src="/backup.jpg" width="300px" height="250px"></a>
</ins>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script>
CSS
ins.adsbygoogle a {
    display: none !important;
}
ins.adsbygoogle[data-ad-status="unfilled"] a {
    display: block;
}

或者,如果您更愿意使用 JavaScript 来更新网页,那么可以使用 MutationObserver 检测 data-ad-status 参数发生的更改,并根据这些更改执行 JavaScript 代码。

限制

data-ad-status 参数仅会添加到顶级窗口上的广告单元中。这意味着,对于通过跨网域窗口投放的广告单元,data-ad-status 参数不会添加到其中。

此外,我们不建议您通过以下方式加载 AdSense 广告单元:最初处于隐藏状态,旨在在 data-ad-status 参数发生更改后显示出来。如果广告单元最初并未在网页上显示,那么我们可能不会针对其执行广告请求。

该内容对您有帮助吗?
您有什么改进建议?

需要更多帮助?

登录可获取更多支持选项,以便快速解决您的问题

true
' data-mime-type=
您的 AdSense 页面

全新推出 AdSense 页面:在这项新资源里,您可找到为您量身提供的信息和发掘帐号中的新机会,从而帮助您利用 AdSense 取得出色的创收效果。

搜索
清除搜索查询
关闭搜索框
Google 应用
主菜单
搜索支持中心
true
157
false