Speeds up page loading: on video-hosting sites, priority is given to the main video; on other sites, priority is given to visible content.
Objective: To speed up page loading: on video-hosting sites, prioritize the main video; on other sites, prioritize visible content.
What does the "I Hate Waiting" script do?
Speeds up the loading and rendering of any website. Runs seamlessly in the background from the very first millisecond the page opens.
Key improvements compared to surfing without a script:
On video-sharing platforms (YouTube, Rutube, VK Video, Twitch, Vimeo, etc.), the script locates the main player on the page and forces it to have the highest loading priority—the video begins buffering before banners, recommendations, and other page content load. On YouTube, the internal metrics collection system, which runs in the background and consumes CPU resources, is additionally disabled.
On standard websites (articles, news sites, blogs, forums), images and iframes outside the visible area of the screen do not load until the user scrolls to them—the browser allocates all available bandwidth to what the user can currently see. Images on the first screen load with the highest priority.
On all websites, the script blocks data from being sent to popular analytics trackers (Google Analytics, Yandex.Metrica, Facebook Pixel, Hotjar, etc.) and removes their elements from the DOM before they have a chance to load. External web fonts do not block text rendering—the page displays text using the system font immediately, while the web font loads in the background. Smooth scrolling (scroll-behavior: smooth) is replaced with instant response (except for chats).
Once the page has loaded and the user begins scrolling down (the expected behavior), the script will resolve the DNS for links on previously viewed screens in the background—this will make clicking on links faster.
It does not perform preconnects to avoid wasting internet data (important for mobile browsing) and does not waste device resources on actions that may never occur (such as clicking a link to which we established a connection in advance but never actually visited). It uses only alternatives that place a light load on the device, such as DNS prefetching.
Can pause videos (except for PiP playback) if you switch to another tab to save data (controlled by a flag; enabled by default)
The button cycles through modes in a "carousel" pattern: ON[A]<->OFF<->ON<->ON[E]<->...back to ON[A] ON[A] = Automatic Selects ON mode for Desktop or ON[E] for Mobile ON[E] = Extreme Same as ON + additional experimental methods that do not break websites but simplify the visual design of web pages to save device resources and increase battery life (suitable for slow internet or mobile devices)
BEFORE and AFTER (note that the time it takes to reload the same page is also affected by the browser cache, which can significantly reduce this value).
Advanced settings (for advanced users):
DEBUG flag:
= true — All messages are visible in the F12 console (Developer Tools);
= false (default) — logging is completely disabled (release mode, no output overhead);
флаг PAUSE_ON_HIDDEN:
= true ((default) — Pauses the video when switching to another tab and resumes playback when returning. Does not affect PiP—it continues to play. Useful on mobile (battery) and desktop (CPU/GPU in the background). Disable if the site controls pausing itself or if the behavior seems unnecessary. Works only on YouTube and Twitch (where the player is in the main window, not in a protected iframe).;
= false - disables the "pause" when switching tabs;