Ускоряет загрузку страниц: на видеохостингах — приоритет главному видео, на остальных — приоритет видимому контенту.
Цель: ускорить загрузку страниц: на видеохостингах — приоритет главному видео, на остальных — приоритет видимому контенту.
Что делает скрипт "I Hate Waiting"?
Ускоряет загрузку и отображение любых сайтов. Работает незаметно в фоне с первой миллисекунды открытия страницы.
Ключевые улучшения по сравнению с серфингом без скрипта:
На видеохостингах (YouTube, Rutube, VK Видео, Twitch, Vimeo и др.) скрипт находит главный плеер на странице и принудительно ставит ему максимальный приоритет загрузки — видео начинает буферизоваться раньше, чем загрузятся баннеры, рекомендации и прочий контент страницы. На YouTube дополнительно отключается внутренняя система сбора метрик, которая работает в фоне и потребляет CPU.
На обычных сайтах (статьи, новости, блоги, форумы) картинки и iframe вне видимой области экрана не загружаются пока пользователь до них не доскроллит — браузер направляет весь доступный канал на то, что видно пользователю прямо сейчас. Картинки первого экрана грузятся с максимальным приоритетом.
На всех сайтах скрипт блокирует отправку данных популярным трекерам аналитики (Google Analytics, Яндекс.Метрика, Facebook Pixel, Hotjar и др.) и удаляет их элементы из DOM до того как они успевают загрузиться. Внешние веб-шрифты не блокируют рендер текста — страница показывает текст системным шрифтом немедленно, а веб-шрифт догружается в фоне. Плавный скролл сайтов (scroll-behavior: smooth) заменяется на мгновенный отклик (кроме чатов).
После того как страница загружена и пользователь начинает скроллить вниз (предпологаемое поведение), скрипт в фоновом режиме резолвит DNS для доменов ссылок на уже просмотренных экранах — переход по ссылке будет быстрее.
Не совершает preconnect'ов дабы не расходовать интернет трафик (важно для мобильного серфинга) и не тратит ресурсы устройства на то, что может не произойти (переход по ссылке с которой мы установили соединение заранее, но так и не перешли). Использует только дешевые по нагрузке на устройство альтернативы типа dns-prefetch.
Может ставить видео на паузу (кроме воспроизведения PiP "картинка-в-картинке"), если вы переключаетесь на другую вкладку для экономии интернет трафика (регулируется флагом, по-умолчанию включено)
Кнопка ON/OFF в правом нижнем углу экрана позволяет отключить скрипт на конкретном сайте если что-то работает некорректно. Также на ней отображается (3 сек )время загрузки страницы, чтобы Вы могли визуально оценить работу скрипта ДО и ПОСЛЕ (учтите, что на время повторной загрузки одной и тойже страницы также влияет кэш браузера, который может значительно сократить это значение в меньшую сторону)
Тонкая настройка (для продвинутых пользователей):
флаг DEBUG:
= true — все сообщения видны в консоли F12 (режим разработки);
= false (по-умолчанию) — лог отключён полностью (режим релиза, нет затрат на вывод);
флаг PAUSE_ON_HIDDEN:
= true (по-умолчанию) — при переключении на другую вкладку ставить видео на паузу, при возврате — возобновлять. Не влияет на PiP - продолжает играть. Полезно на Mobile (АКБ) и Desktop (CPU/GPU в фоне). Отключить если сайт сам управляет паузой или поведение кажется лишним. Работает только на Youtube, Twitch (там где плеер в главном окне, а не в защищённом iframe);
= false - отключает "паузу" при переключении вкладок;