jQuery aggiungere Google Adsense per div

Sto avendo problemi con google adsense e carico prima del mio jQuery e uccidere i miei codici, quindi ho pensato di provare ad aggiungere Google Adsense javascript appropriato div utilizzando il documento pronto funzione, ecco il codice che sto cercando di scrivere:

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

Ma io non sono così bravo a scrivere javascript/jQuery, quindi se qualcuno mi potrebbe aiutare a implementare questo che sarebbe fantastico.

L’errore in FF attualmente sto ottenendo è “Errore: google_protectAndRun non è definito”. Io non sono sicuro di ciò che significa, ma sto cercando di indovinare ho scritto il codice jQuery sbagliato.. lol

  • Ok, così ho provato un altro angolo, e sto ancora ricevendo stesso errore. Ho creato un componente per Joomla che consente solo di visualizzare il codice degli annunci google – sportsneo.com/google-ads E ho pensato di chiamare utilizzando Ajaxify – che funziona bene per altri siti l’ho fatto con l’ajax il contenuto, ma per qualche motivo questo codice google adsense mi odia.. sportsneo.com/fantasy-killed-my-hsc <- la pagina di google adsense, codice di carico (lato destro) in FF si va a una pagina bianca con l’errore e IE non visualizza nulla nella casella in cui si suppone di andare.. 🙁
InformationsquelleAutor SoulieBaby | 2009-07-17

 

10 Replies
  1. 20

    Il mio modo di fare questo è di avere un segnaposto sul posto ho pubblicato l’annuncio.

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

    Poi posto il google-codice in un contenitore alla fine della pagina.

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

    Ho quindi utilizzare jQuery per spostare l’iframe il codice adsense crea una volta che la pagina è fatto carico.

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

    Se si tenta di spostare il #adsense div si finisce con una pagina vuota. Se si tenta di fare questo più di qualsiasi altro modo, si finirà con una pagina vuota.
    Google aveva costruito in modo attivo per controllare che il codice non viene spostato. Se lo è, la vostra pagina sarà vuota. Perché google ha fatto questo è di là di me, ma io ho trovato questa soluzione alternativa per me…

    • Che cosa è la politica di Google su come fare? Stai violando il AdSense termini di servizio?
    • Sono d’accordo con quello che Dice Scott..a volte si ha la necessità di clerify se questa è violazione di senso dell’annuncio di tos, come avremo modo di non apportare modifiche nel codice adsense.
    • Sono any1 chiesto nel forum di Adsense se questa è violazione di Google Adsense Politica
    • Questo funziona quasi per me. In qualche modo l’annuncio finisce in alto a sinistra della pagina dopo il appendTo. Non spostare la googleadgoeshere, ma non di un display di visualizzazione che div.
    • Un altro problema con questo è che l’annuncio di script esegue solo la prima pagina caricata. Non eseguire o visualizzare nelle pagine successive.
    • Tom, per risolvere il primo problema, assicurarsi che il div si stanno mettendo l’annuncio in ha una posizione di attributo valore diverso da ereditare.

  2. 3

    Non è possibile includere script esterni che modo.

    Per includere javascript dopo il caricamento della pagina, si dovrebbe utilizzare jQuery jQuery.getScript() funzione, ma non so se avrebbe funzionato per Google Adsense.

    Un po ‘ più informazioni possono essere trovate qui:

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

    • Grazie per il link, ho provato che prima di venire qui, per qualche ragione, il codice di adsense uccide i miei altri jquery script in IE.. :/ check-out il getScript cosa.. 🙂
  3. 1

    Dopo aver provato e non riuscendo con i codici qui, ho finito per prendere l’oggetto jQuery che stavo usando e metterlo in una nuova pagina html. Una volta l’ho fatto, ho solo usato un iframe per inserirlo sulla pagina con adsense.

    Ora, adsense e jQuery in esecuzione allo stesso tempo senza problemi.

  4. 1

    Aggiungere un DIV nascosto con adsense di codice nella vostra pagina da qualche parte:

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

    Utilizzando javascript creare dinamiche DIV per la tua pubblicità a carico di:

    $("body").append("<div id='adslot' ></div>");

    Codice Jquery per inserire l’Annuncio:

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

    Questo funziona per me.

    • Come posso generare un posto a caso per google annuncio?Io per esempio ho 10 post di elementi e voluto 2 sostituire con google pubblicità ma in modo casuale.Come posso fare @krisrak?
  5. 0

    Ho avuto questo stesso problema. Alla fine ho risolto utilizzando jQuery per caricare un con un src, che punta a un file html che contiene gli AdSense di Google javascript. Questo è piuttosto inelegante, dal momento che il codice Google AdSense crea un <iframe>. E, mi capita di lavorare con Facebook applicazione, quindi nel mio caso, ho un <iframe> (l’Annuncio di Google) in un <iframe> (quella che ho usato per muoversi in Firefox errore) in un <iframe> (il mio Facebook app). Ma, funziona.

    • solo una raccomandazione, imparare a usare il post di strumenti di editing per evidenziare il tag HTML come codice(così come qualsiasi altro codice). allora sei post avrà un senso 🙂
  6. 0

    Danny risposta spiegato la soluzione di base per questo dopo che io, senza successo, ampiamente sperimentato sulla mia, quindi grazie! Tuttavia, ho bisogno di un più elaborato soluzione in quanto ho avuto un numero imprecisato di annunci che ho voluto sostituire su una determinata pagina, quindi ecco cosa ho fatto:

    L’html di base (php) contorno, ala di Danny formato — nota la mia incremento dell’annuncio conte, sulla base di vari fattori di righe da un db query, cioè tale che è impossibile sapere con il conte in anticipo:

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

    Ho separato il css per adsense div creare nel momento in cui io ne ho uno per ogni adslide div creato in precedenza:

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

    Qui, posizionato in fondo alla pagina, ho l’effettivo annunci da parte di google in html, il conte di essere determinato dal numero di slot che ho per loro dall’alto:

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

    E finalmente ho il ciclo attraverso tutti gli annunci adsense scritto in html e riempirli, uno per uno, in adslide slot che sono stati creati in html, assicurandosi che ogni annuncio e slot sono utilizzati solo/riempito una volta togliendo loro o la loro classe, dopo che ho fatto con loro:

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

    Questo è estremamente strano bug da parte di google. Posso solo supporre è legato a una certa protezione google ha creato per evitare che le persone nascondono i loro annunci (grazie al posizionamento schermo o dietro altri elementi html o qualcosa del genere) per cercare e raccogliere impressione conta, senza in realtà la visualizzazione di annunci (cioè così si potrebbe mettere un milione di questi in html, ma l’utente non li avrebbe mai, e raccogliere il denaro fino a quando google trova). Tuttavia, il fatto che questo bug non si presenta in IE e Safari, ma non in Firefox e Google Chrome… Che strano. Si deve assolutamente risolvere questo problema sul loro lato.

    Per coloro che lavorano con il software stesso: mi sono imbattuto in questo problema me quando l’attuazione di un jQuery Carousel (http://sorgalla.com/projects/jcarousel/) che aveva annunci mescolato con utente ha inviato le foto della giostra.

  7. 0

    Solo questo codice di lavoro

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

    Non rimuovere, spostare pieno div.

  8. 0

    Io uso questa variante. Tutto bene!

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

    In adsense.html mettere il codice AdSense ‘AsIs.

    • Google vieta di mettere adsense in iframe e può disattivare il suo account per fare questo.
  9. 0

    In link alla pagina che stava per essere caricato tramite ajax, ho impostato data-ajax="false" e poi la pagina è stata caricata, chiedere all’utente di utilizzare il pulsante indietro.

  10. 0

    Questo è come lo faccio. Semplice e breve.

    <script>
    $(window).load(function(){
        $('#adsense').fadeIn(0);
    });
    </script>
    
    <div id="adsense" style="display:none;">
       [YOUR ADSENSE SCRIPT HERE]
    </div>

Lascia un commento