Перейти к публикации

kind_whale

новички
  • Публикации

    6
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные пользователем kind_whale

  1. Да, действительно не всё так просто.

    Попробовал изменить код вызова на RTB, почитал "Показ рекламы в лентах с бесконечной прокруткой"

    https://yandex.ru/support/partner2/web/products-rtb/partner-code.html

     

    Пробовал добавлять код и в navigation.tpl и Вашу функцию:

    success: function(data) {
                        $('#bottom-nav').remove();
                        $('#dle-content').append($('#dle-content', data).html());
                        $('#dle-content').after($('#bottom-nav'));
                        window.history.pushState("", "", urlNext);
                        $('html, body').animate({scrollTop:scrollNext}, 800);    
                        HideLoading('');
    					
    		            Ya.Context.AdvManager.render({
    		                blockId: "R-A-XXXXX-4",
    		                renderTo: "yandex_rtb_R-A-XXXX-4-{page_now}",
    		                pageNumber: {page_now},
    		                async: true
    		            });
    
                    }

    Но не работает.

     

    На первой странице первый рекламный блок отображается. Его код в браузере:

    <div id="yandex_rtb_R-A-XXX-4-1">код рекламы</div>
    <script type="text/javascript">
    		    (function(w, d, n, s, t) {
    		        w[n] = w[n] || [];
    		        w[n].push(function() {
    		            Ya.Context.AdvManager.render({
    		                blockId: "R-A-XXX-4",
    		                renderTo: "yandex_rtb_R-A-XXX-4-1",
    		                pageNumber: 1,
    		                async: true
    		            });
    		        });
    		        t = d.getElementsByTagName("script")[0];
    		        s = d.createElement("script");
    		        s.type = "text/javascript";
    		        s.src = "//an.yandex.ru/system/context.js";
    		        s.async = true;
    		        t.parentNode.insertBefore(s, t);
    		    })(this, this.document, "yandexContextAsyncCallbacks");
    		</script>

    А код остальных блоков не содержит <script>...</script>:

    <div id="yandex_rtb_R-A-XXX-4-2"></div>
    (нет <script>)

    Вопрос: как для второго и последующих блоков добавить js-код вызова <script>...</script>?

     

    Спасибо заранее.

  2. Здравствуйте.

     

    Отличный хак, спасибо.

     

    Вопрос по существу:

     

    У меня, в navigation.tpl, перед навигацией {pages}, на сайте загружается рекламный блок Яндекс.Директ:

     

    Соответственно, в navigation.tpl добавлен код:

     

    <div id="yandex_ad2_{page_now}"></div>
    
    <script type="text/javascript">
            (function(w, d, n, s, t) {
                w[n] = w[n] || [];
                w[n].push(function() {
                    Ya.Direct.insertInto(XXXXXX, "yandex_ad2_{page_now}", {
                        site_charset: "windows-1251",
    
    ............
    </script>
    
    <!-- стандартная навигация -->

     

    В шаблон к рекламному блоку добавлена переменная с текущей страницей - {page_now}.

     

    Так вот, на первой странице код Директа отрабатывается, реклама показывается.

    На последующих подгруженных ajax-страницах эти рекламные div пустые.

     

    Т.е.

    id="yandex_ad2_1" - есть реклама 

    id="yandex_ad2_2" - пусто и т.д.

     

    Вопрос: как это поправить?

    Как подгружать рекламу в последующие, после первого div?

     

    Пишут, что:

     

    Цитата

    На AJAX-сайтах с помощью асинхронного кода можно настроить обновление содержимого рекламного блока при изменении контента страницы или при другом указанном событии. Для этого необходимо повторно вызывать функцию:
    Ya.Direct.insertInto( XXXX, "yandex_ad", { /*… Настройки вашего блока … */}) ;

    Так вот, как и где повторно вызывать эту Ya.Direct.insertInto() ?

     

    Заранее благодарю за ответ.

×
×
  • Создать...