Подтвердить что ты не робот

JQuery добавляет Google Adsense к div

У меня возникли проблемы с google adsense, и он загружается до моего jQuery и убивает мои коды, поэтому я подумал, что попытаюсь добавить javascript Google Adsense в соответствующий div, используя функцию готовности документа, здесь код я ' m пытается написать:

<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 неправильно. Lol

4b9b3361

Ответ 1

То, как я это делаю, - это иметь место на месте, где я хочу, чтобы объявление появилось.

<html>
   <body>
      <div id="googleadgoeshere"></div>
   </body>
</html>

Затем поместите код google в контейнер в конце страницы.

<div id="adsense" style="display:none;">all the google javascript goes here</div>

Затем я использую jQuery для перемещения iframe, создаваемого кодом AdSense после загрузки страницы.

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

Если вы просто попытаетесь переместить div #adsense, вы получите пустую страницу. Если вы попытаетесь сделать это больше всего по-другому, вы получите пустую страницу. Google разработал активные способы проверки того, что код не перемещен. Если это так, ваша страница будет пустой. Почему google сделал это вне меня, но я нашел, что это обходное решение работает для меня...

Ответ 2

Вы не можете включать внешние скрипты таким образом.

Чтобы включить javascript после загрузки страницы, вы должны использовать функцию jQuery jQuery.getScript(), но я не знаю, будет ли это работать для Google Adsense.

Немного больше информации можно найти здесь:

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

Ответ 3

После попыток и сбоев с кодами здесь я закончил использование объекта jQuery, который я использовал, и поместив его на новую страницу html. Как только я это сделал, я просто использовал iframe, чтобы разместить его на странице с помощью adsense.

Теперь adsense и jQuery запускаются одновременно без проблем.

Ответ 4

Добавьте скрытую DIV с кодом AdSense на вашей странице где-нибудь:

<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);

Это работает для меня.

Ответ 5

У меня была такая же проблема. В конечном итоге я решил использовать jQuery для загрузки с помощью src, указывающего на html файл, содержащий javascript Google AdSense. Это довольно непросто, поскольку код Google AdSense создает <iframe>. И, случается, я работаю с приложением Facebook, поэтому в моем случае у меня есть <iframe> (Google Ad) в <iframe> (тот, который я использовал, чтобы обойти ошибку Firefox) в <iframe> (мое приложение для Facebook). Но это работает.

Ответ 6

Дэнни ответ объяснил основное решение для этого после того, как я безуспешно экспериментировал сам по себе, поэтому спасибо! Тем не менее, мне нужно было более сложное решение, так как у меня было неизвестное количество объявлений, которые я хотел бы заменить на данной странице, поэтому вот что я сделал:

Основная схема html (php), формат ala Danny - обратите внимание на мое увеличение количества показов объявлений на основе различных факторов строк из запроса db, то есть так, что заранее невозможно узнать счет:

<html>
   <body>
<? while ($r = mysql_fetch_assoc($rs)) { if (true) { ?>
      <div class="adslide"><?=$ads++?></div>
<? } } ?>
   </body>
</html>

Я выделил css для div adsense, который я создам за один момент, поскольку у меня есть один для каждого div adlide, созданного выше:

<style> .adsense { display: none; } </style>

Здесь, помещенный в нижней части страницы, я получаю фактические объявления от google в html, количество которых определяется количеством слотов, которые у меня есть для них сверху:

<?php for ($i = 0; $i < $ads; $i++) { echo '<div class="adsense">'.$adscript.'</div>'; } ?>

И, наконец, я просматриваю все объявления AdSense, записанные в html, и заполняю их один за другим в слоты adlide, которые были созданы в html, убедившись, что каждое объявление и слот используются только один раз, удаляя их или их класса после того, как я закончил с ними:

<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>

Это чрезвычайно странная ошибка от Google. Я могу только предположить, что это связано с некоторой защитой google, созданной для того, чтобы люди не скрывали свои объявления (размещая их вне экрана или за другими элементами html или что-то в этом роде), чтобы попытаться собрать количество показаний без фактического показа рекламы (т.е. Вы могли бы положить миллион это в html, но пользователь никогда их не увидит, и вы собираете деньги до тех пор, пока Google не узнает об этом). Однако тот факт, что эта ошибка не отображается в IE и Safari, но делает в Firefox и Google собственный Chrome... Это странно. Они должны определенно исправить это на их стороне.

Для тех, кто работает с одним и тем же программным обеспечением: я сам столкнулся с этой проблемой при реализации jQuery Carousel (http://sorgalla.com/projects/jcarousel/), в котором объявления смешивались с представленными пользователями фотографиями в карусели.

Ответ 7

Только этот код работает

var i = 0;
obj = $(".materialContent p");
size = obj.size();
for (i=0; i<size; i++)
{
    cur = obj[i];
    if (i == 2)
    {
        $("#mainTopAdvDiv").appendTo(cur); 
    }
}

Не удалять, переместить полный div.

Ответ 8

В link на страницу, загружаемую через ajax, я установил data-ajax="false", а затем на загруженную страницу. Я прошу пользователя использовать кнопку "Назад".

Ответ 9

Я использую этот вариант. Все хорошо!

$(document).ready(function() {
$("div.youtube_ad").html("<iframe src='/adsense.html' width='350' height='290' scrolling='no'></iframe>")
});

В adsense.html добавьте код AdSense "AsIs".

Ответ 10

Вот как я это сделаю. Простой и короткий.

<script>
$(window).load(function(){
    $('#adsense').fadeIn(0);
});
</script>

<div id="adsense" style="display:none;">
   [YOUR ADSENSE SCRIPT HERE]
</div>