以静态方式加载广告脚本

概览

此项评估旨在检查广告脚本是否注入到网页中。 网页上的其他资源可能会延迟提取和加载注入的脚本,进而导致广告的加载出现延迟。在某些情况下,系统可能根本不会提取这些脚本,从而阻止广告一起加载。

建议

通过异步脚本代码加载脚本,以提高速度。即使会阻止呈现的资源阻止脚本执行,浏览器预加载扫描程序也可以提前提取脚本代码。

不正确
<script>
  var el = document.createElement('script');
  el.src = 'https://securepubads.g.doubleclick.net/tag/js/gpt.js';
  var node = document.getElementsByTagName('script')[0];
  node.parentNode.insertBefore(el, node);
</script>
正确
<script async src="https://securepubads.g.doubleclick.net/tag/js/gpt.js"></script>

确定所注入广告脚本的来源

有时,您可能并不清楚广告脚本是如何注入到网页的,甚至是完全注入。例如,在加载网页后检查其来源时,注入的脚本代码可能看起来与静态加载的代码难以区分。

在这些情况下,请使用 Chrome 开发者工具中的“Network”标签页来确定所注入广告脚本的来源。

  1. Control+Shift+JCommand+Option+J (Mac) 打开开发者工具。
  2. 前往 Network(网络)标签页。
  3. 如果过滤栏尚未显示,请点击过滤图标 “Filter”图标 打开过滤栏,然后在文本框中输入此项审核所标记的脚本的名称。
  4. 如果“发起者”列尚不可见,请右键点击任何表格标题,然后选择 Initiator(发起者)列,以将该列添加到网络请求广告瀑布流表格中。
  5. 请重新加载页面以捕获网络流量。

Chrome 开发者工具中“网络”标签页的屏幕截图

如上面的屏幕截图所示,“Initiator”(发起者)列将包含相关脚本的来源信息。您可以点击来源链接,直接跳转到负责发出广告脚本请求的代码,也可以将鼠标悬停在来源链接上,以查看导致相应请求的所有调用。

更多信息

此项审核所参照的许可名单包含已知适合以静态方式加载的广告脚本。当前列表为:

媒体库 脚本
AdSense pagead2.googlesyndication.com/pagead/js/adsbygoogle.js
Amazon 发布商服务 amazon-adsystem.com/aax2/apstag.js
Criteo 直接出价方 static.criteo.net/js/*/publishertag.js
Google 发布商代码

googletagservices.com/tag/js/gpt.js

securepubads.g.doubleclick.net/tag/js/gpt.js

Index Exchange js-sec.indexww.com/ht/p/*.js

干预 document.write()
通过脚本注入的“异步脚本”被认定为有害
加速异步代码段