javascript - 如何注入 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。我无意滥用这种方法,但我正在尝试发现它是如何工作的。
解决方案
推荐阅读
- java - 如何使用 FirestoreRecyclerAdapter 进行复杂查询?
- webpack - 具有 2 个使用共享文件的反应应用程序的单存储库的最佳 webpack 结构
- c# - 用于 netstandard 的 Microsoft.WindowsAzure.ServiceRuntime 模拟
- javascript - 如何在不使用 .join() 的情况下加入字符串数组?
- c# - 尝试投射时获取 System.FormatException
- node.js - 由nodejs创建后,Api rest google drive文件夹不可见
- python - 有没有办法优化矩阵与一组样本的比较?
- asp.net-core - 如何为我的应用程序中的所有控制器设置 ProducesResponseType?
- ssl - 是否有定义的标头用于在双向 TLS 场景中将客户端证书传递到后端
- c++ - VimPlugin:在没有箭头的 Visual Studio 中滚动自动完成建议