Don't fuck with my scroll!!!

Jinpha
2019-04-11T00:25:28Z

Whenever the user scrolls using the mouse wheel it will disable all methods to programmatically scroll for 500 ms (0.5 seconds). Basically preventing websites to implement custom scrolling behaviors like smooth scrolling.

Why did I create this?

I've noticed that some websites have tried to implement their own smooth scrolling. However, they rarely work as intended and mostly just annoys the user as the scrolling experience is being changed.

This script has been made to block these annoyances and let the browser itself choose how to scroll.

How does it actually work?

This script is very simple. In the initialization of the script it registers all methods that can programmatically scroll the page. These includes: window.scrollTo, window.scrollBy, document.scrollingElement.scrollTop.

Whenever the scripts register that you've scrolled using your mouse wheel it will override these methods described above with a void function that does absolutely nothing. So if a page tried to scroll using these methods while they've been voided it would do nothing which is exactly what we need to prevent these custom behaviors.

After 1 second the voided methods will be restored to their original functionality. This means that if the page tried to scroll using those methods they would work again as expected. We're only interested in blocking the scrolling in the time frame of using the mouse wheel to prevent breaking important features.