Как предусмотреть баннерорезки при работе с Яндекс.Метрикой из JS приложения?

Есть веб-приложение, одностраничник на Backbone, модули подгружаются через RequireJS. В числе прочего загружается Яндекс.Метрика и рекламная сеть ВКонтакте.

У многих посетителей стоит AdBlock или другие расширения, блокирующие рекламные и трекинговые скрипты – Метрику (metrika/watch) и ВК (vkpreroll, vkadman).

В коде много, где, стоят вызовы к Метрике для сбора статистики – отметки событий, например App.Metrika.params({ auth_recheck: 1})

На случай, если Метрика не загрузилась, в конфиге RequireJS прописана альтернатива – локальный модуль-заглушка, объект с методами Метрики, только там пустые функции:
return {
  addFileExtension: function(){}
  , clickmap: function(){}
  // и т.д.


Этот костыль (?) работает нормально несколько лет, с AdBlock Plus проблем нет. Но сейчас столкнулся с тем, что у кого-то в Google Chrome расширение Fair AdBlocker (by STANDS) блокирует и заглушку тоже – вылетает ошибка, что модуль Metrika вообще undefined.

Как лучше поступить, чтобы заблокированные баннерорезками скрипты не вызывали ошибок у клиентов?
  • Вопрос задан
  • 211 просмотров
Пригласить эксперта
Ответы на вопрос 1
Как вариант exception?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы