我在与谷歌的AdSense的问题和它在我的jQuery之前加载并带走了我的代码,所以我想我会尝试在谷歌的Adsense的JavaScript附加到使用文档准备功能适当的div,这里有我想要的代码写:
<script language="javascript" type="text/javascript">
$(document).ready(function(){
$(".googleBanners").html("<script language='javascript' type='text/javascript'>\n" + "google_ad_client = 'pub-8487967187298044';\n" + "google_ad_slot = '1088799521';\n" + "google_ad_width = 250;\n" + "google_ad_height = 250;\n" + "</" + "script>\n" + "<script language='javascript' src='http://pagead2.googlesyndication.com/pagead/show_ads.js' type='text/javascript'>" + "</" + "script>");
});
</script>
但我不是那么好写的JavaScript / jQuery的,所以如果有人可以帮助我实现这一点,将是非常美妙。
在FF目前我得到的错误是“错误:没有定义google_protectAndRun”。 我不知道这意味着什么,但我猜我写了jQuery代码错误..哈哈
我这样做的方法是通过上我想要的广告出现在现场的占位符。
<html>
<body>
<div id="googleadgoeshere"></div>
</body>
</html>
然后将其放置在一个容器中的谷歌代码页面的末端。
<div id="adsense" style="display:none;">all the google javascript goes here</div>
然后我使用jQuery移动的AdSense代码创建一旦页面加载完成的iframe。
$(window).load(function(){
$("#adsense").find("iframe").appendTo("#googleadgoeshere");
$("#adsense").remove();
});
如果你只是尝试移动#adsense格,你会最终有一个空白页。 如果你尝试这样做几乎任何其他方式,你将最终获得一个空白页。 谷歌已经建立在积极的方式来检查代码不移动。 如果是,你的网页将显示为空白。 为什么谷歌已经做到了这一点我是无法理解的,但我发现这个解决办法为我工作...
你不能在外部脚本的方式。
要包含JavaScript的页面加载后,你应该使用jQuery的jQuery.getScript()函数,但我不知道这是否会为谷歌的Adsense工作。
多一点信息可以在这里找到:
http://geek.littleredstring.com/17-load-adsense-last-jquery
尝试并与这里的代码失败后,我结束了拍摄jQuery对象,我用,并把它在一个新的HTML页面。 一旦我做到了,我只是用一个iframe来把它与AdSense广告的页面上。
现在,AdSense和jQuery的同时,没有任何问题运行。
添加在你的页面的AdSense代码某处隐藏DIV:
<div id='adsense' style="display:none">
<script type="text/javascript"><!--
google_ad_client = "ca-pub-xxxxxxxxxxxxxx";
google_ad_slot = "xxxxxxxxxx";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
</div>
使用JavaScript创建广告加载动态DIV:
$("body").append("<div id='adslot' ></div>");
jQuery代码插入广告:
var ad = $("#adsense").html();
$("#adslot").html(ad);
这对我的作品。
我有这个确切的同样的问题。 我终于通过使用jQuery有一个src指向包含谷歌AdSense的JavaScript的HTML文件来加载解决了这个问题。 这是相当不雅,因为谷歌的AdSense代码创建一个<iframe>
而且,我正好有一个Facebook应用程序进行工作,所以在我的情况,我有一个<iframe>
在(谷歌的广告) <iframe>
中的(我曾经得到解决Firefox的错误之一) <iframe>
我的Facebook应用程序)。 但是,它的工作原理。
丹尼的回答解释了这个基本解决后,我不成功广泛试验了我自己,十分感谢! 但是,我需要一个更复杂的解决方案,我有一个未知的数字,我想更换一个特定网页上的广告,所以这是我做的:
基本HTML(PHP)的轮廓,ALA丹尼的格式 - 注意我的广告数量的递增,基于从数据库查询,即,使得它不可能事先知道计数行的各种因素:
<html>
<body>
<? while ($r = mysql_fetch_assoc($rs)) { if (true) { ?>
<div class="adslide"><?=$ads++?></div>
<? } } ?>
</body>
</html>
我分离出来的CSS使用AdSense DIV我将在稍后创建,因为我有一个上面创建的每个adslide格:
<style> .adsense { display: none; } </style>
在这里,放置在页面的底部,我从谷歌的实际广告到HTML,计数被多少插槽我对他们从上面确定:
<?php for ($i = 0; $i < $ads; $i++) { echo '<div class="adsense">'.$adscript.'</div>'; } ?>
最后我循环遍历所有AdSense广告写进html和填充它们,一个接一个,到在HTML中创建的adslide插槽,确保每个广告和插槽仅用于/除去他们或填充一旦他们一流的,我跟他们做后:
<script>
// http://stackoverflow.com/questions/1142861/jquery-append-google-adsense-to-div
$(function () { var b, a = $(".adsense").first();
for (; a.length > 0; a = $(".adsense").first())
{ b = $(".adslide").first(); b.append(a.find("iframe"));
a.remove(); b.removeClass("adslide"); } });
</script>
这是从谷歌一个非常奇怪的错误。 我只能假设它涉及到创建,以防止人从隐藏他们的广告(通过定位他们离屏幕或落后于其他HTML元素或东西),试图收集展示次数,而无需实际显示广告(即,所以你可以把一百万一些保护谷歌这些在HTML,但用户将再也看不到他们,你收集现金,直到谷歌发现)。 然而,事实证明这种错误不会在IE和Safari出现,但不会在Firefox和谷歌的Chrome浏览器本身...这是奇怪的。 他们绝对应该站在他们一边解决这个问题。
对于那些谁使用相同的软件工作:实现一个曾与用户夹杂广告轮播中提交的照片jQuery的旋转木马(http://sorgalla.com/projects/jcarousel/)时,我遇到了这个问题我自己。
只有这个代码工作
var i = 0;
obj = $(".materialContent p");
size = obj.size();
for (i=0; i<size; i++)
{
cur = obj[i];
if (i == 2)
{
$("#mainTopAdvDiv").appendTo(cur);
}
}
请不要删除,移动满格。
我用这个变种。 都好!
$(document).ready(function() {
$("div.youtube_ad").html("<iframe src='/adsense.html' width='350' height='290' scrolling='no'></iframe>")
});
在adsense.html把您的AdSense代码“ASIS”。
在link
到正在通过加载页面ajax
,我设置data-ajax="false"
,然后是加载我要求用户使用后退按钮的页面上。
这是我会怎么做。 简单而短暂。
<script>
$(window).load(function(){
$('#adsense').fadeIn(0);
});
</script>
<div id="adsense" style="display:none;">
[YOUR ADSENSE SCRIPT HERE]
</div>