gpt4 book ai didi

javascript - 将空对象插入 Adsense 标签中的 adsbygoogle 数组的目的是什么?

转载 作者:数据小太阳 更新时间:2023-10-29 05:52:18 25 4
gpt4 key购买 nike

这是来自their site的解释:

A call to adsbygoogle.push(), which instructs us to fill in the first unfilled slot.

但是 adsbygoogle 数组在 javascript 代码中的用途是什么?

这是一个示例广告代码(请参阅末尾的 javascript 行):

<ins class="adsbygoogle"
style="display:inline-block;width:300px;height:250px"
data-ad-client="ca-pub-xxxxxxxxxxxxxxxx"
data-ad-slot="yyyyyyyyyy"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>

最佳答案

实际加载 AdSense 广告的脚本 adsbygoogle.js 是异步加载的(即通过 <script async> 标记)。调用 adsbygoogle.push() 是页面告诉脚本有一个广告位需要填充的方式,使用的代码可以在异步加载的脚本执行之前或之后执行。

如果 adsbygoogle.js 尚未加载,则 adsbygoogle.push({}) 使 adsbygoogle 数组长一个元素,这有效地增加了等待 adsbygoogle.js 关注的广告位数量他们。当加载 adsbygoogle.js 时,它会遍历该队列,为每个队列条目处理一个广告位。

现在聪明的一点是:加载 adsbygoogle.js 后,它会用一个函数替换 adsbygoogle.push,使其立即处理新插槽。这意味着 adsbygoogle.js 不需要轮询 DOM 来添加需要处理的新插槽。 (在现代浏览器上,您可以使用 DOM Mutation Observer 执行此操作,但 adsbygoogle 早于此。)

这主要解释了为什么要为每个插槽执行 push()。至于为什么要推送一个空对象,@JustcallmeDrago 的回答给出了一个很好的提示:您推送的对象可以包含一些关于插槽的其他配置信息,但是空对象 {} 是一个不错的简短默认值,意思是“使用 DOM 中的标签给出的配置数据填充第一个未填充的插槽。”

关于javascript - 将空对象插入 Adsense 标签中的 adsbygoogle 数组的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23984182/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com