【问题标题】:Add Google plus +1 button dynamically and IE8 problem动态添加谷歌+1按钮和IE8问题
【发布时间】:2011-09-13 09:56:01
【问题描述】:

有没有办法通过js动态添加谷歌+1按钮?我需要它,因为一个页面有许多 URL 可以共享,并且它们是通过 AJAX 获得的。因此,当我获得所需的 URL 时,我想在页面的某些位置生成“+1”-s。

我编写的测试代码可以在除 IE8 之外的所有浏览器中运行(谷歌根本不支持 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 更改为干净的 Javascript。 IE8 可以使用它!

【问题讨论】:

  • 您应该将您的修复作为答案发布,以便将其标记为正确答案。这会将您的问题从 SO 上的未回答列表中拉出来。
  • 谢谢!我不知道......完成了。
  • 你也可以接受自己的答案(-:

标签: javascript jquery html css google-plus-one


【解决方案1】:

解决方法如下:

<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 更改为干净的 Javascript。 IE8 可以使用它!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多