Как загрузить кнопку Google Plus Share в iframe?

Может ли кто-нибудь дать мне решение о том, как асинхронно загрузить кнопку Google Plus Share (не кнопку +1) в iframe. Мне удалось сделать это для кнопки +1.


person Arvind Bhardwaj    schedule 21.05.2012    source источник
comment
Зачем только кнопка «Поделиться», просто подключитесь к сети и загрузите весь google+ в iframe, указав src plus.google.com ; -)   -  person    schedule 21.05.2012
comment
@Webtecher, я хочу использовать кнопку «Поделиться» в своем блоге www.webspeaks.in. Я хочу, чтобы он загружался только тогда, когда пользователь зависает над заголовком.   -  person Arvind Bhardwaj    schedule 21.05.2012
comment
Я считаю, что Google блокирует загрузку кнопки «Поделиться» в iframe, и вы не сможете это сделать.   -  person abraham    schedule 22.05.2012


Ответы (2)


Попробуйте этот фрагмент html:

<iframe src="https://plusone.google.com/_/+1/fastbutton?bsv&amp;size=medium&amp;hl=en-US&amp;url=http://test.com/&amp;parent=http://test.com/" allowtransparency="true" frameborder="0" scrolling="no" title="+1"></iframe>
person 350D    schedule 29.04.2013
comment
В чем разница между url и parent? - person Thomas Orlita; 27.02.2017

Если вы пытаетесь явно отобразить кнопку, когда пользователь наводит курсор на что-то, вам нужно использовать явный поток рендеринга, как описано здесь:

https://developers.google.com/+/plugins/+1button/

Однако есть одна особенность: поскольку вы используете кнопку «Поделиться», вы не можете использовать явный код рендеринга для рендеринга непосредственно в div. Вместо этого вы создадите ссылку для общего доступа, зададите явный рендеринг, а затем сможете использовать JavaScript для запуска рендеринга кнопки общего доступа.

Соответствующий код:

<html>
  <head>
    <title>+Share: Explicit render</title>
    <link rel="canonical" href="http://www.example.com" />
    <script type="text/javascript">
    window.___gcfg = {
      lang: 'en-US',
      parsetags: 'explicit'
    };
    function renderShare() {
      gapi.plus.go(); // Render all the buttons
    }
    </script>
  </head>
  <body>
    <a href="#" onClick="renderShare();">Render the share control</a>
    <!-- a share button that will get rendered when gapi.plus.go is called -->
    <div class="g-plus" data-action="share" id="share-div"></div>
  </body>
  <script type="text/javascript">
    // Asynchronously load the plusone script, for performance
    (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);
    })();
  </script>
</html>

Что касается вас, я предполагаю, что вы пытаетесь использовать другой триггер для рендеринга кнопки +1, чем кнопка, которую пользователь должен нажать явно, вы можете просто использовать соответствующее событие для того, что вы хотите вызвать рендеринг.

person class    schedule 26.11.2012
comment
Спасибо за ответ. Я попробую это. - person Arvind Bhardwaj; 27.11.2012