Кнопки AddThis исчезают после перехода на другой маршрут

0

Я использую плагин 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 исчезли?

Спасибо за помощь.

  • 0
    Какой URL у вашего сайта? Какой браузер вы используете? У вас установлены плагины?
  • 0
    Мой сайт все еще не в сети. Я использую только плагин FullCalendar. Я использую Rails 4 и браузер Safari.
Теги:
addthis

1 ответ

0
Лучший ответ

На данный момент я сделал это так. Это довольно плохое решение, но я не могу заставить его работать нормально по-другому. Я помещаю этот код во все свои представления, где я не обновляю страницу. Таким образом, тот же код находится в главном файле application.html.erb, а также в двух других представлениях, которые доступны через страницу "home".

<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>

Я знаю, что это очень плохое решение, потому что я c/p тот же код.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню