有没有办法动态添加js的Google + +1按钮?我需要这个,因为一个页面有许多URL要分享,他们是通过AJAX获得的。因此,当我需要URL时,我想在页面的某些位置生成“+1” - 。
我编写的测试代码适用于除IE8以外的所有浏览器(Google完全不支持IE7):
<div class="googlePlusBtn"></div>
<a href="#" class="addGooglePlus">Click me!</a>
<script type="text/javascript">
jQuery(function(){
jQuery('.googlePlusBtn').html('<g:plusone annotation="inline"></g:plusone>');
jQuery('a.addGooglePlus').click(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);
return false;
})
})
</script>
你能帮我吗?
UPD:已修复。解决方案如下:
<div id="googlePlusBtn"></div>
<a href="#" class="addGooglePlus">Click me!</a>
<script type="text/javascript">
jQuery(function(){
var po = document.createElement('g:plusone');
var s = document.getElementById('googlePlusBtn');
s.appendChild(po);
jQuery('a.addGooglePlus').click(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);
return false;
})
})
</script>
所以,刚刚从jQuery更改了create document方法来清理Javascript。 IE8适用于此!
答案 0 :(得分:3)
解决方案如下:
<div id="googlePlusBtn"></div>
<a href="#" class="addGooglePlus">Click me!</a>
<script type="text/javascript">
jQuery(function(){
var po = document.createElement('g:plusone');
var s = document.getElementById('googlePlusBtn');
s.appendChild(po);
jQuery('a.addGooglePlus').click(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);
return false;
})
})
</script>
所以,刚刚从jQuery更改了create document方法来清理Javascript。 IE8适用于此!