Odpowiedź Danny'ego wyjaśniła podstawowe rozwiązanie tego problemu, po tym jak bez powodzenia eksperymentowałem na własną rękę, dzięki! Potrzebowałem jednak bardziej złożonego rozwiązania, ponieważ miałem nieznaną liczbę reklam, które chciałem zamienić na danej stronie, więc oto co zrobiłem:
Podstawowy zarys html (php), a mianowicie format Danny'ego - uwaga moje zwiększenie liczby reklam, w oparciu o różne czynniki w wierszach z zapytania db, tjtakie, że niemożliwe jest, aby znać liczbę wcześniej:
<html>
<body>
<? while ($r = mysql_fetch_assoc($rs)) { if (true) { ?>
<div class="adslide"><?=$ads++?></div>
<? } } ?>
</body>
</html>
ja oddzielone z css dla div adsense będę tworzyć w momencie jak mam po jednym dla każdego div adslide utworzonego powyżej:
<style> .adsense { display: none; } </style>
Tutaj umieszczone w dolnej części strony, uzyskać rzeczywiste reklamy od Google w html, liczba jest określana przez ile slotów mam dla nich z góry:
<?php for ($i = 0; $i < $ads; $i++) { echo '<div class="adsense">'.$adscript.'</div>'; } ?>
I wreszcie I CYKL e przez wszystkie reklamy AdSense zapisane w html i wstaw je, jeden po drugim, w sloty reklamowe, które zostały utworzone w html, upewniając się, że każda reklama i slot są używane/wypełniane tylko raz, usuwając je lub ich klasę po I „m sporządzono z nich:
<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>
jest to niezwykle dziwne bug z google. Mogę tylko założyć, że jest to związane z ochroną google stworzoną, aby uniemożliwić ludziom ukrywanie swoich reklam (przez umieszczanie ich poza ekranem lub za innymi elementami HTML), aby spróbować zebrać liczbę wyświetleń bez wyświetlania reklam (tzn. Aby umieścić milion te w html, ale użytkownik nigdy ich nie zobaczy, a ty zbierasz gotówkę, dopóki go nie dowie się). Jednak fakt, że ten błąd nie pojawia się w IE i Safari, ale robi to w Firefoksie i Google'owym Chrome ... To dziwne. Naprawdę powinni to naprawić po swojej stronie.
Dla tych, którzy pracują z tym samym oprogramowaniem: Sam wpadłem na ten problem podczas implementowania karuzeli jQuery (http://sorgalla.com/projects/jcarousel/), które zawierało reklamy połączone ze zdjęciami przesłanymi przez użytkownika w karuzeli .
OK, więc spróbowałem innym kątem i nadal otrzymuję ten sam błąd. Stworzyłem komponent w Joomla, który wyświetla kod reklamy Google - http://www.sportsneo.com/google-ads I pomyślałem, że zadzwonię do niego używając Ajaxify - który działa dobrze na innych stronach I 've done with ajax content, ale z jakiegoś powodu ten kod adsense google mnie nienawidzi .. http://www.sportsneo.com/fantasy-killed-my-hsc <- strona, na której ma polegać kod AdSense ładunek (prawa strona) w FF przechodzi na pustą stronę z błędem, a IE nie wyświetla niczego w polu, w którym powinien się znajdować .. :( – SoulieBaby