PocketBook - Grayscale Online Reader

Set grayscale effect to the actual page to avoid wrong colors in some pages in PDF reading.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @icon            https://cloud.pocketbook.digital/reader_new/static/media/logo.74f9be12.svg
// @name            PocketBook - Grayscale Online Reader
// @version         1.0
// @author          R4wwd0G
// @description     Set grayscale effect to the actual page to avoid wrong colors in some pages in PDF reading.
// @include			https://cloud.pocketbook.digital/reader_new/*
// @namespace https://greasyfork.org/users/700468
// ==/UserScript==



function applyGrayscale() {
    document.querySelectorAll('.page-img').forEach(img => {
        img.style.filter = 'grayscale(1)';
    });
}


applyGrayscale();


const observer = new MutationObserver(mutations => {
    mutations.forEach(mutation => {
        if (mutation.type === 'childList') {
            mutation.addedNodes.forEach(node => {
                if (node.classList && node.classList.contains('page-img')) {
                    node.style.filter = 'grayscale(1)';
                }
            });
        }
    });
});


observer.observe(document.querySelector('#Reader__content'), { childList: true, subtree: true });