首页 > 解决方案 > 如何注入 Adsense

问题描述

我试图弄清楚为什么当客户端 ID 更改时,注入的 Adsense 单元不会显示在页面上。

我在做什么 我使用在类似的堆栈溢出问题中找到的脚本,并将 Adsense 广告和脚本注入到已经运行 Adsense 的网站中,在页面加载后:动态 Adsense

var externalScript   = document.createElement("script");
externalScript.type  = "text/javascript";
externalScript.setAttribute('async','async');
externalScript.src = "//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js";
document.getElementsByTagName('body')[0].appendChild(externalScript);

var ins   = document.createElement("ins");
ins.setAttribute('class','adsbygoogle');
ins.setAttribute('style','display:block;');/*add other styles if required*/
ins.setAttribute('data-ad-client','ca-pub-YOUR-CLIENTID');
ins.setAttribute('data-ad-slot','YOUR-SLOTID');
ins.setAttribute('data-ad-format','auto');
document.getElementsByTagName('body')[0].appendChild(ins);

var inlineScript   = document.createElement("script");
inlineScript.type  = "text/javascript";
inlineScript.text  = '(adsbygoogle = window.adsbygoogle || []).push({});'  
document.getElementsByTagName('body')[0].appendChild(inlineScript);

问题 如果我将客户端 ID 和广告位设置为页面上已经存在的一个,则此脚本会注入广告。但是,如果我更改客户端 ID 或广告位,该元素会被反对,但不会加载任何广告。应该提到的是我在页面加载后注入。

我的问题 有谁知道为什么有些广告会加载而有些广告没有给出我之前解释的参数?

请注意:我知道 Adsense 注入违反了 TOS。我无意滥用这种方法,但我正在尝试发现它是如何工作的。

标签: javascriptcode-injectionadsensejavascript-injection

解决方案


推荐阅读