2012-05-10 5 views
9

Вот сцена:вручную рендер динамически Google «плюс один» кнопку

  • Веб-страница не имеет Google + кнопку.
  • Пользователь нажимает кнопку.
  • Отсылается запрос AJAX, который загружает текст и кнопку google + (<g:plusone href="http://www.website.com"></g:plusone>) в div.
  • Я могу видеть, когда я смотрю на код, который он есть, но это не рендеринг.

Я слышал, что это может быть полезно: gapi.plusone.go();

Но я не уверен.

Любые идеи?

Thanks

+2

Поскольку у вас уже есть g + div на месте - все, что вам нужно сделать, это вызвать рендер, вызвав 'gapi.plusone.go()'. Лучше передать ему идентификатор контейнера div. –

ответ

10

Вы на правильном пути. gapi.plusone.go() - это один из способов явно отобразить кнопку +1. Вот фрагмент кода из official docs, который иллюстрирует другой метод, используя 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> 

JavaScript API дополнительно задокументированы elsewhere on the previously linked page.

+0

Спасибо! Еще одна проблема, с которой я столкнулся (глупый), заключалась в том, что я вызывал render/go, как только загружалась страница ... Я добавил небольшой тайм-аут, чтобы дождаться завершения запроса ajax - и теперь он работает. Спасибо за вашу помощь! – JoeRocc

Смежные вопросы