gpt4 book ai didi

javascript - 动态 AdSense 单元

转载 作者:行者123 更新时间:2023-11-29 15:52:59 25 4
gpt4 key购买 nike

我有一个 OpenSocial 应用程序,想在其中试用 AdSense。我可以轻松运行 Javascript,但不能直接包含 HTML 片段。出于这个原因,我试图想出一个脚本来创建一个包含 AdSense 广告的 DIV。

function adsense(w, h, slot) {
google_ad_client = "pub-4815352041522054";
google_ad_slot = slot;
google_ad_width = w;
google_ad_height = h;

var url = "http://pagead2.googlesyndication.com/pagead/show_ads.js";
document.write(
'<div style="border:solid 3px red;">'
+ '<sc' + 'ript src="' + url + '">'
+ '</sc' + 'ript>'
+ 'The ad should be inside the same box as this text.</div>'
);
}

adsense(160, 600, 5133629129);

上面的代码将编写一个带有红色边框的 div,并将 AdSense 单元放入其中。这在 Chrome 上运行良好,但在 IE 上,引用的 AdSense 代码似乎在 div 已经关闭后运行。

我希望能够从代码动态创建 AdSense 单元(例如用于 A/B 测试目的)并根据需要重新定位它们。关于如何让它发挥作用的任何想法?

最佳答案

显然,现在已经太晚了,但我遇到了同样的问题,我在 StackOverflow 上询问了它(很快也会在那里发布长格式答案),但你唯一能做的就是将它加载到 iframe 中.

第一步
使用您的 adsense 代码在您的服务器上创建一个 HTML 文件,例如:

<script type="text/javascript"><!--
google_ad_client = "ca-pub-xxxxxxxxxxxx";
/* Some Ad */
google_ad_slot = "xxxxxxxxx";
google_ad_width = 468;
google_ad_height = 60;
//--></script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>

第 2 步

在您刚刚创建的同一个 HTML 文件中,在顶部添加:

<style> body {padding:0;margin:0;} </style>

这将确保 iframe 中没有间距,并且广告代码紧贴 iframe 的边框。

第 3 步
动态添加 iframe,如:

var insertAdsenseIframe = function(src,width,height){
var iframe = document.createElement('iframe');
iframe.setAttribute("frameborder","0");
iframe.setAttribute("src", src);
iframe.setAttribute("width", width);
iframe.setAttribute("height", height);
return iframe; //Return it so you can use whatever method you want to insert/append
}

var myIframe = insertAdsenseIframe('http://oscargodson.com/dev/scriptTest/cleariframe.html','468px','60px');

document.getElementById('test').appendChild(myIframe);

JavaScript 只是一个示例,但有效。我从未在 IE 或任何东西中测试过。这只是为了帮助您入门。

演示

因为在 JSBin 和 StackOverflow 上发布此内容会违反 TOS 我只是创建了一个广告形状的 div,但如果将广告放入其中,它就会起作用。

参见: http://jsbin.com/evoqi6/破解: http://jsbin.com/evoqi6/edit

关于javascript - 动态 AdSense 单元,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3264633/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com