AddThis按钮在导航到其他路线后消失

时间:2013-10-13 21:55:48

标签: javascript jquery ruby-on-rails addthis

我正在使用AddThis http://www.addthis.com插件在社交网络上分享我的网页。我将此代码放在我的网站中:

<!-- AddThis Smart Layers BEGIN -->
    <!-- Go to http://www.addthis.com/get/smart-layers to customize -->
    <script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-xxx">
    </script>

    <script type="text/javascript">
      addthis.layers({
        'theme' : 'transparent',
        'share' : {
          'position' : 'left',
          'numPreferredServices' : 5
        }   
      });
    </script>
    <!-- AddThis Smart Layers END -->

当我打开我的网站时,按钮显示正常,但在我导航到其他位置后,它们会消失。即使我回到我的主页,他们也没有显示。只有在我刷新网站后,按钮才会再次出现。

我尝试使用此解决方案,但似乎无法让它工作:

addthis buttons are disappeared?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

现在我已经这样做了。这是一个非常糟糕的解决方案,但我无法以不同的方式使其正常工作。我把这段代码放在我不刷新页面的所有视图中。因此,相同的代码在主application.html.erb文件中,也在另外两个通过“主页”访问的视图中。

<script type="text/javascript">$(document).ready(function() {
    var script = 'http://s7.addthis.com/js/300/addthis_widget.js?domready=1#pubid=xxx';
    if (window.addthis){
        window.addthis = null;
        window._adr = null;
        window._atc = null;
        window._atd = null;
        window._ate = null;
        window._atr = null;
        window._atw = null;
    }
    $.getScript( script, function() {
        addthis.layers({
            'theme' : 'transparent',
            'share' : {
            'position' : 'left',
            'numPreferredServices' : 5
            }   
        });
    });
});
</script>

我知道这是一个非常糟糕的解决方案,因为我使用相同的代码。