Anti Scroll Lock

Previne sites de desabilitar o scrolling

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

// ==UserScript==
// @name         Anti Scroll Lock
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  Previne sites de desabilitar o scrolling
// @match        *://*/*
// @grant        none
// @license      GPLv3
// ==/UserScript==

(function() {
    'use strict';

    function enableScroll() {
        // Remove estilos que bloqueiam o scrolling
        document.body.style.overflow = 'auto';
        document.documentElement.style.overflow = 'auto';

        // Remove event listeners que possam estar prevenindo o scrolling
        window.onscroll = null;
        window.onwheel = null;
        window.ontouchmove = null;
        document.onkeydown = null;

        // Remove classes que possam estar bloqueando o scroll
        document.body.classList.remove('no-scroll');

        // Sobrescreve o método addEventListener para ignorar certos tipos de eventos
        const originalAddEventListener = EventTarget.prototype.addEventListener;
        EventTarget.prototype.addEventListener = function(type, listener, options) {
            if(type === 'wheel' || type === 'touchmove' || type === 'scroll') {
                return;
            }
            originalAddEventListener.call(this, type, listener, options);
        };
    }

    // Executa a função imediatamente e a cada 1 segundo
    enableScroll();
    setInterval(enableScroll, 1000);
})();