Google Adsense多次加载脚本

Google Adsense loads scripts multiple times

本文关键字:加载 脚本 Adsense Google      更新时间:2023-09-26

我有一个显示谷歌广告的页面,其中有三个。广告初始化如下:

<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle class-resp" style="display:inline-block" data-ad-client="ca-pub-4283524395367264" data-ad-slot="8923673879"></ins>
<script>(adsbygoogle = window.adsbygoogle || []).push({});</script>
<ins class="adsbygoogle class-resp" style="display:inline-block" data-ad-client="ca-pub-4283524395367264" data-ad-slot="8923673879"></ins>
<script>(adsbygoogle = window.adsbygoogle || []).push({});</script>
<ins class="adsbygoogle class-resp" style="display:inline-block" data-ad-client="ca-pub-4283524395367264" data-ad-slot="8923673879"></ins>
<script>(adsbygoogle = window.adsbygoogle || []).push({});</script>

问题是页面大小大得离谱,原因主要是每个广告似乎都需要自己下载以下每个脚本,即每个脚本下载三次,每个页面负载增加约700kb(对于移动浏览来说太大了)

http://pagead2.googlesyndication.com/pagead/js/r20150402/r20150224/show_ads_impl.jshttp://pagead2.googlesyndication.com/pagead/js/r20150402/r20150224/expansion_embed.jshttp://pagead2.googlesyndication.com/pagead/js/r20150402/r20110914/abg.js

有人知道强迫这三个广告分享上面三个脚本中每一个的单一下载的方法吗?或者每个广告都必须下载各自的副本吗??

一旦下载了脚本,它就会被缓存(如果缓存头可用),因为脚本的第二个请求是从缓存中加载的,所以它不会浪费任何带宽,也不会向域/主机发送任何请求。

我刚刚检查过http://pagead2.googlesyndication.com/pagead/js/r20150402/r20150224/show_ads_impl.js

HTTP/1.0 200 OK =>
P3P => policyref="http://www.googleadservices.com/pagead/p3p.xml", CP="NOI DEV PSA PSD IVA IVD OTP OUR OTR IND OTC"
Timing-Allow-Origin => *
Cross-Origin-Resource-Policy => cross-origin
Vary => Accept-Encoding
Date => Sat, 04 Sep 2021 06:08:13 GMT
Expires => Sat, 04 Sep 2021 06:08:13 GMT
Cache-Control => private, max-age=1209600
Content-Type => text/javascript; charset=ISO-8859-1
X-Content-Type-Options => nosniff
Content-Disposition => attachment; filename="f.txt"
Server => cafe
X-XSS-Protection => 0
Accept-Ranges => none

它具有缓存控制标头。