Может ли кто-нибудь дать мне решение о том, как асинхронно загрузить кнопку Google Plus Share (не кнопку +1) в iframe. Мне удалось сделать это для кнопки +1.
Как загрузить кнопку Google Plus Share в iframe?
Ответы (2)
Попробуйте этот фрагмент html:
<iframe src="https://plusone.google.com/_/+1/fastbutton?bsv&size=medium&hl=en-US&url=http://test.com/&parent=http://test.com/" allowtransparency="true" frameborder="0" scrolling="no" title="+1"></iframe>
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, чем кнопка, которую пользователь должен нажать явно, вы можете просто использовать соответствующее событие для того, что вы хотите вызвать рендеринг.