以静态方式加载广告脚本

概览

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

建议

通过异步脚本标记加载脚本,以提高速度。即使阻塞渲染的资源阻止了脚本执行,浏览器预加载扫描程序也可以提前提取脚本标记。

不正确
<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 开发者工具中的“网络”标签页来确定所注入广告脚本的来源。

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

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

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

更多信息

此项评估所参照的标准是一份许可名单,其中含有已知可静态加载的广告脚本。当前列表为:

脚本
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()
通过脚本注入的“异步脚本”被认定为有害
加速异步代码段