谁能给我一个关于如何在 iframe 中异步加载 Google plus 分享按钮(而不是 +1 按钮)的解决方案。我设法为 +1 按钮做到了这一点。
问问题
8801 次
2 回答
12
试试这个 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>
于 2013-04-29T16:58:45.947 回答
2
如果您要做的是在用户将鼠标悬停在某物上时显式渲染按钮,那么您需要做的是使用此处描述的显式渲染流程:
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 按钮,而不是用户明确必须单击的按钮,你可以只使用适当的事件来触发渲染。
于 2012-11-26T21:15:40.867 回答