Carregar botão do Google+ via Ajax
Postado por: Pedro Rogério em
Já ensinei por aqui como carregar o botão de like do Facebook via Ajax e também o botão de Retweet, dessa vez vou ensinar como também é possível carregar o botão do Google+ via Ajax.
Para o perfeito funcionamento do código, você deve ter o jQuery na sua página, estando ok, assumo que você tenha o seguinte HTML:
<div class="plus"><g:plusone href="http://sua_url_aqui"></g:plusone></div>
Basta portanto então deixar que o JavaScript faça o resto:
$(window).load(function(){
$.getScript('https://apis.google.com/js/plusone.js', function() {
$('div.plus').each(function() {
gapi.plusone.go();
});
});
});
Como podem ver no exemplo, o botão só é carregado após o carregamento total da página.
Update:
Caso não queira utilizar jQuery para carregar o botão, você pode utilizar JavaScript puro, abaixo segue o código:
function loadJavaScript(file, onComplete) {
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = file;
if (onComplete) {
script.onreadystatechange = function() {
if (this.readyState == 'complete' || this.readyState == 'loaded') {
onComplete();
}
}
}
document.getElementsByTagName('head')[0].appendChild(script);
};
loadJavaScript('https://apis.google.com/js/plusone.js', function() {
gapi.plusone.go();
});
Um exemplo com JavaScript puro você pode ver aqui.














Quero ver fazer isso com js puro agora hein pedrão rs
abs
Aqui um exemplo com JavaScript puro: http://www.pinceladasdaweb.com.br/blog/uploads/plus-button/index2.html
Por essas e outras que eu amo o jQuery… 7 linhas (muito mais amigáveis) contra 17!
Parabéns pelo post… essas micro-otimizações, se bem feitas e planejadas, fazem milagre.
if i’m not wrong, what the following script right combination of all three your posts…
http://jsbin.com/apemep
sorry if i’m false, i’m not a scripter, i’m just user and otodidac man :D
cheers^^
Thanks for this bit of code, it’s exactly what I needed. The G+ button is just too slow and I can’t have it holding up the rest of the page load.