Addthis и асинхронная загрузка - PullRequest
1 голос
/ 07 ноября 2011

Следуя инструкции , я могу запустить addthis через ajax, но он работает только в одном месте,

например,

html страница индекса 'index.php',

<a href="#" class="load">click to load</a> 

<div id="container"></div>

<p>addthis at the footer,</p>
<div class="addthis_toolbox addthis_default_style left addthis" style="border:0px solid #000; margin:20px 5px 0px 10px; width:300px;">
<a class="addthis_button_facebook_like" addthis:url="#" addthis:title="#" addthis:description="#" fb:like:layout="button_count" style="width:80px;"></a>
<a class="addthis_button_tweet" addthis:url="#>" addthis:title="#" addthis:description="#" style="width:100px;"></a>
<a class="addthis_button_google_plusone" g:plusone:size="medium" style="width:65px;"></a>
</div>

У меня есть еще одна дополнительная кнопка на странице ajax - «load.php»,

<p>it should have another addthis in this ajax loaded page,</p>

<a class="addthis_button_facebook" addthis:url="#" addthis:title="title" addthis:description="" href="http://www.addthis.com/bookmark.php?v=250&amp;username=lauthiamkok"></a>
<a class="addthis_button_twitter" addthis:url="#" addthis:title="title" addthis:description="" href="http://www.addthis.com/bookmark.php?v=250&amp;username=lauthiamkok"></a>
<a class="addthis_button_google_plusone" addthis:url="#" addthis:title="title" addthis:description="" href="http://www.addthis.com/bookmark.php?v=250&amp;username=lauthiamkok"></a>

Это мой jquery,

 $(document).ready(function(){

            // the addthis buttons are loaded successfully here.
                    initAddThis();

            $('.load').click(function(){
                $('#container').load('load.php', function(){

                    // the addthis buttons fail to load here.
                    initAddThis();

                });
                return false;
            });

        });

        function initAddThis() 
        {
            addthis.init()
        }

Это происходит только на странице индекса, но не на странице ajax ... как я могу это исправить?

Ответы [ 3 ]

1 голос
/ 07 ноября 2011

Вы используете неправильный пример кода :) Код, который вы опубликовали, используется для инициализации addThis после того, как вы загрузили все с помощью ajax.

Вы ищете способ обновить / инициализировать некоторые ссылкис addthis.

Думаю, это поможет вам: Рендеринг с JavaScript

0 голосов
/ 28 августа 2013

Попробуйте это

var addthis_url = "http://s7.addthis.com/js/250/addthis_widget.js#pubid=your_id";
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(addthis_url)
0 голосов
/ 30 мая 2012

Вам необходимо переместить функцию initAddthis в метод window.onload, чтобы она активировалась после загрузки всех ресурсов страницы.

window.onload = function(){
    initAddthis();
}
...