Клуб Рекламной сети Яндекса

Предложение по доработке асинхронного кода

 

Еще в ноябре обнаружил одну особенность в работе асинхронного кода (о чем писал тут http://clubs.ya.ru/partner/replies.xml?parent_id=758&item_no=726&with_parent=1#reply-partner-758 никто не ответил, проблема все еще есть). В Опере (вер. 11.52) блок выводился даже тогда, когда на странице не было нужного элемента с идентификатором из функции insertInto. В других браузерах блок не появлялся, а Опера выводила его где попало. Пришлось дополнять код, выдаваемый конструктором блоков, проверкой на существование нужного элемента на странице.

Может быть стоит проверять наличие элемента на стороне Директа? Ну или хотя бы добавить в конструкторе асинхронного кода строчку 

if (typeof($('#ya_direct').get(0)) != 'undefined'){

  Ya.Direct.insertInto(xxxx, " ya_direct ", {...}

}

чтобы не приходилось дописывать самому.

 

2 комментария

подтверждаю была такая проблема, пришлось поставить другой блок рекламы

partner-rsya (Яндекс)
28 января 2016, 00:43

Cпасибо, что написали об этом.
Мы стараемся, чтобы наш код работал корректно во всех ситуациях, даже если на сайте партнера есть ошибки.

Постараемся в скором времени выложить предложенные правки в продакшн.