2011-09-13 11 views
7

¿Hay alguna manera de agregar dinámicamente el botón Google plus +1? Lo necesito porque una página tiene muchas URL para compartir y las obtuvo AJAX. Entonces, cuando obtengo las URL necesarias, quiero generar "+1" -s en algunos lugares de la página.Agregue el botón Google plus +1 dinámicamente y el problema IE8

código de prueba que he escrito, que funciona en todos los navegadores excepto IE8 (Internet Explorer 7 no es compatible con Google en absoluto):

<div class="googlePlusBtn"></div> 
<a href="#" class="addGooglePlus">Click me!</a> 
<script type="text/javascript"> 
jQuery(function(){ 
    jQuery('.googlePlusBtn').html('<g:plusone annotation="inline"></g:plusone>'); 
    jQuery('a.addGooglePlus').click(function() 
    { 
     var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; 
     po.src = 'https://apis.google.com/js/plusone.js'; 
     var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); 
     return false; 
    }) 
}) 
</script> 

¿Me podría ayudar?

UPD: Solucionado. La solución es a continuación:

<div id="googlePlusBtn"></div> 
<a href="#" class="addGooglePlus">Click me!</a> 
<script type="text/javascript"> 
jQuery(function(){ 
      var po = document.createElement('g:plusone'); 
      var s = document.getElementById('googlePlusBtn'); 
     s.appendChild(po); 
    jQuery('a.addGooglePlus').click(function() 
    { 
     var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; 
     po.src = 'https://apis.google.com/js/plusone.js'; 
     var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); 
     return false; 
    }) 
}) 
</script> 

Así, acaba de cambiar el método de crear el documento de jQuery para limpiar Javascript. ¡IE8 funciona con eso!

+0

Debe publicar el arreglo como respuesta para que pueda marcarse como la respuesta correcta. Eso extraerá su pregunta de la lista no respondida en SO. –

+0

¡Gracias! No lo sabía ... Hecho. –

+0

También puede aceptar su propia respuesta (-: –

Respuesta

3

La solución es a continuación:

<div id="googlePlusBtn"></div> 
<a href="#" class="addGooglePlus">Click me!</a> 
<script type="text/javascript"> 
jQuery(function(){ 
      var po = document.createElement('g:plusone'); 
      var s = document.getElementById('googlePlusBtn'); 
     s.appendChild(po); 
    jQuery('a.addGooglePlus').click(function() 
    { 
     var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; 
     po.src = 'https://apis.google.com/js/plusone.js'; 
     var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); 
     return false; 
    }) 
}) 
</script> 

Así, acaba de cambiar el método de crear el documento de jQuery para limpiar Javascript. ¡IE8 funciona con eso!

Cuestiones relacionadas