Продолжение поста «Почему в последнее время тормозит Pikabu?»
UPD от администрации: убедились с пользователем, что тормоза не связаны с Адблоком: #comment_284244345. Автор удалил свою статью с Хабра.
Итак, копнём чуть поглубже и убедимся, что @pikabu и @SupportTech поступают, как мудаки. Заодно делаем ставки, за сколько этот пост удалят, а меня заблокируют.
Преабула: в последнее время у многих людей тормозит сайт. Здесь мы разберёмся, почему это происходит. Внимание, много минифициваронного кода!
Для ЛЛ: если в браузере запущен AdBlock, то в код страницы встраивается скрипт, специально тормозящий сайт.
При загрузке сайта в app.js выполняется вот такая милая функция:
Что она делает? Она создаёт невидимый элемент с именами классов, соответствующих рекламе. В этом можно убедиться, поставив точку останова непосредственно при добавлении этого элемента:
Далее происходит небольшая пауза (o.W вызывает requestAnimationFrame), после которой в цикле с небольшими задержками (i.g ведёт на setTimeout) проверяется, не изменился ли стиль этого элемента определённым образом (см. функцию h). Если изменился - значит AdBlock присутствует и скрыл этот элемент, как рекламу. Если изменений нет - то и AdBlock нет, всё просто.
Результат этой функции передаётся сюда:
K.P - это та самая функция определения AdBlock, что выше.
Проверяется домен (видимо, чтобы на localhost у разработчиков не срабатывало). Далее в cookie с названием "bs" пишется определённое значение: латинская буква и цифра ("K0", "A1"). Если AdBlock присутствует, пишется "1". Если отсутствует - пишется "0".
Как известно, cookie - по сути единственный способ, которым браузер может общаться с бэкендом без каких-либо дополнительных операций.
Если в куке стоит нолик, то всё нормально, и в коде страницы нет ничего подозрительного. Но как только мы включим AdBlock, и в куке будет написана единичка... В код страницы сразу же встраивается вот такая хрень:
Весь вот этот блок целиком, да. Особенно интересна вот эта часть:
Во-первых, этот код делает синхронный XHR-запрос к серверу. Синхронные запросы отличаются тем, что заставляют вкладку браузера подвиснуть до тех пор, пока запрос не будет выполнен. Этим и обусловлены тормоза у пользователей - они происходят из-за того, что браузер выполняет синхронный запрос к серверу. Для того, чтобы сделать запрос асинхронным и ничего не тормозить, достаточно добавить true третьим параметром. Но тогда пользователи ведь продолжат пользоваться AdBlock, верно?
Во-вторых, этот код скачивает непонятно какой скрипт с сервера и выполняет его. В скрипте может содержать что угодно. Но в принципе, это мелочи, мы и так не можем контролировать скрипты на сайте.
При этом товарищи из @SupportTech предлагают отключать расширения, в том числе AdBlock, чтобы ничего не тормозило. Логично, вы ведь сами добавили тормоза, если AdBlock включен.
@Pikabu, @SupportTech, ваши комментарии?
P. S. Запрещаю переносить этот пост в сообщества, так как это не является багрепортом или предложением по сайту.
Adblock браузер
Сейчас зашёл на Пикабу через Adblock browser - ни одной рекламы! Просто праздник какой-то!
К вопросу о том, как увеличить количество просмотров рекламы на сайте
Комментарии режутся при установленном Adblock?
Теперь на Pikabu комментарии режутся при установленном Adblock (Avguard) или только у меня так? Отключение на сайте не помогает, только удалить.
Остаются два-три основных комментария, один уровень вложенных и все.
Когда стало неловко
Захожу на один сайт и вижу это:
Скриншот сайта с отключенной рекламой
Как-то удивился отсутствию назойливых и неисчезающих окошек, которые закрывают сайт целиком и не дают его листать пока не отключишь Adblock.
Это было первый раз, когда я решил отключить расширение, чтобы спецом кликнуть и перейти по всем этим рекламам.
Как убрать рекламу?
Ребят, имею adblock. До поры все было хорошо, но с некоторого времени на сайте со всех боков начало постоянно вылазить это ублюжество с гигантскими шрифтами и размером с некоторые посты. Адблок предлагает выделить нежелательный элемент, после чего начисто сносит все содержимое сайта, оставляя "девственно белый лист" (ха, предлагает сделать The Culling of Pikabu). Чем и как убрать это бл****во, ибо после отмены минусов и прочих нововведений и так не сильно охота тут бывать?
А еще заметили, как стали скрываться заминусованные ответы на комментарии? У меня везде открываются только после четвертой манипуляции с нажатием
фигня с минусовыми ответами на комментарии
еще большая фигня с рекламой