2012-05-10 16 views
9

Ecco la scena:manualmente render dinamicamente generati Google 'più un' pulsante

  • La pagina web non hai google + tasto.
  • L'utente fa clic su un pulsante.
  • Viene inviata una richiesta AJAX che carica del testo e il pulsante di Google + (<g:plusone href="http://www.website.com"></g:plusone>) in un div.
  • Posso vedere quando guardo il codice che è lì, ma non è il rendering.

Ho sentito dire che questo potrebbe essere utile: gapi.plusone.go();

ma non ne sono sicuro.

Qualche idea?

Grazie

+2

Dato che hai già g + div in posizione, tutto ciò che devi fare è richiamare il rendering chiamando 'gapi.plusone.go()'. È meglio passarlo l'id del contenitore div. –

risposta

10

Sei sulla strada giusta. gapi.plusone.go() è un modo per rendere esplicitamente il pulsante +1. Ecco uno snippet di codice dallo official docs che illustra un altro metodo che utilizza gapi.plusone.render().

<html> 
    <head> 
    <title>+1 Demo: Explicit render</title> 
    <link rel="canonical" href="http://www.example.com" /> 
    <script type="text/javascript" src="https://apis.google.com/js/plusone.js"> 
     {"parsetags": "explicit"} 
    </script> 
    <script type="text/javascript"> 
     function renderPlusone() { 
     gapi.plusone.render("plusone-div"); 
     } 
    </script> 
    </head> 
    <body> 
    <a href="#" onClick="renderPlusone();">Render the +1 button</a> 
    <div id="plusone-div"></div> 
    </body> 
</html> 

L'API JavaScript documenta altresì elsewhere on the previously linked page.

+0

Grazie! Un altro problema che stavo avendo (stupido) era che stavo chiamando il render/go non appena la pagina è stata caricata ... Ho aggiunto un po 'di timeout per aspettare che la richiesta ajax finisse - e ora funziona. Grazie per l'aiuto! – JoeRocc