动态添加Google + +1按钮和IE8问题

Add Google plus +1 button dynamically and IE8 problem

本文关键字:IE8 问题 按钮 添加 Google 动态      更新时间:2023-09-26

是否有任何方法可以动态地添加Google + +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>

你能帮帮我吗?

乌利希期刊指南:固定的。解决方案如下:

<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可以解决这个问题!

方案如下:

<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可以解决这个问题!