jQuery将Google Adsense添加到div

我有谷歌adsense的问题,它在我的jQuery之前加载并杀死我的代码,所以我想我会尝试使用文档就绪function将Google Adsense javascript附加到相应的div,这里是我正在尝试的代码写:

 $(document).ready(function(){ $(".googleBanners").html("\n" + "google_ad_client = 'pub-8487967187298044';\n" + "google_ad_slot = '1088799521';\n" + "google_ad_width = 250;\n" + "google_ad_height = 250;\n" + "\n" + "" + ""); });  

但是我写javascript / jQuery并不是那么好,所以如果有人可以帮我实现这个太棒了。

FF我目前得到的错误是“错误:未定义google_protectAndRun”。 我不确定这意味着什么,但我猜我写的jQuery代码错了..哈哈

我这样做的方法是在现场设置占位符,我希望广告出现。

   

然后将google代码放在页面末尾的容器中。

  

然后我使用jQuery移动adsense代码在页面加载完成后创建的iframe。

 $(window).load(function(){ $("#adsense").find("iframe").appendTo("#googleadgoeshere"); $("#adsense").remove(); }); 

如果您只是尝试移动#adsense div,您将得到一个空白页面。 如果您尝试以任何其他方式执行此操作,则最终会得到一个空白页。 Google已经采用主动方式检查代码是否未被移动。 如果是,您的页面将为空白。 谷歌为什么这样做是超出我的,但我发现这个解决方法对我有用…

您不能以这种方式包含外部脚本。

要在页面加载后包含javascript,您应该使用jQuery的jQuery.getScript()函数,但我不知道这是否适用于Google Adsense。

可以在这里找到更多信息:

http://geek.littleredstring.com/17-load-adsense-last-jquery

在尝试并失败了这里的代码之后,我最终获取了我正在使用的jQuery对象并将其放入一个新的html页面。 一旦我这样做,我只是使用iframe将其放在带有adsense的页面上。

现在,adsense和jQuery同时运行没有任何问题。

在页面中的某个位置添加带有adsense代码的隐藏DIV:

  

使用javascript创建动态DIV,以便加载广告:

 $("body").append("
");

插入广告的Jquery代码:

 var ad = $("#adsense").html(); $("#adslot").html(ad); 

这对我有用。

我有同样的问题。 我最终通过使用jQuery加载一个src指向包含Google AdSense javascript的html文件来解决它。 由于Google AdSense代码会创建 ,因此相当不优雅。 而且,我碰巧正在使用Facebook应用程序,所以在我的情况下,我在一个 (我用来解决Firefox错误的那个)中有一个 (Google广告) (我的Facebook应用程序)。 但是,它的确有效。

Danny的回答解释了我自己进行了大量实验后失败的基本解决方案,谢谢! 但是,我需要一个更精细的解决方案,因为我想要在给定页面上替换未知数量的广告,所以这就是我所做的:

基本的html(php)大纲,ala Danny的格式 – 请注意我根据db查询中的行的各种因素递增广告计数,即不可能事先知道计数:

    

为了adsense div,我将片段分离出来,因为我在上面创建的每个adslide div都有一个:

  

在这里,放置在页面底部,我从谷歌获取实际广告到html,计数取决于我从上面有多少个插槽:

 '.$adscript.'
'; } ?>

最后,我循环浏览写入html的所有adsense广告,并将其逐个填充到html中创建的adslide广告位中,确保每个广告和广告位仅通过删除或填充一次来使用/填充一次我完成它后上课:

  

这是谷歌的一个非常奇怪的错误。 我只能假设它与谷歌创建的一些保护有关,以防止人们隐藏他们的广告(通过将他们放在屏幕外或其他html元素或其他东西后面)来尝试收集印象数而不实际显示广告(即所以你可以放一百万这些在HTML中,但用户永远不会看到它们,你收集现金,直到谷歌发现)。 但是,这个错误并没有出现在IE和Safari中,而是出现在Firefox和Google自己的Chrome中……这很奇怪。 他们绝对应该把这个放在他们身边。

对于那些使用相同软件的人:我在实现一个jQuery Carousel(http://sorgalla.com/projects/jcarousel/)时遇到了这个问题,该广告中的广告与用户提交的照片混合在旋转木马中。

只有这个代码工作

 var i = 0; obj = $(".materialContent p"); size = obj.size(); for (i=0; i 

不要删除,移动完整的div。

我用这个变种。 都好!

 $(document).ready(function() { $("div.youtube_ad").html("") }); 

在adsense.html中为您添加了AdSense代码’AsIs’。

在通过ajax加载的页面的link中,我设置data-ajax="false" ,然后在加载的页面上我要求用户使用后退按钮。

我就是这样做的。 简单而简短。