Gratis for alle

Scripts til
Quizlet Live.

Vælg en version, kopiér koden med ét tryk, og indsæt den i browserens konsol. Du kan også hente filen. Alt er gratis.

01

Kopiér

Tryk Kopier på den version, du vil bruge. Hele scriptet lægges i udklipsholderen. Du kan også markere koden selv.

02

Åbn konsollen

Gå ind i Quizlet Live, tryk F12, og vælg fanen Konsol.

03

Indsæt

Indsæt scriptet i konsollen, og tryk Enter. Det kører lokalt i din egen browser.

Versioner

4 versioner · nyeste øverst

Quizlet Live - Diskret

1. okt. 2026 · 2,7 KB · Gratis

v1.3

Lille prik på det rigtige svar, uden ramme. Tryk F8 for at slå prikken til og fra.

quizlet-live-diskret.js
Hent fil
(() => {
    let enabled = true;
    const dotClass = 'qh-dot';

    const paint = (node, on) => {
        if (!node) return;
        const dot = [...node.children].find((child) => child.classList?.contains(dotClass));
        if (!on) {
            if (dot) dot.remove();
            return;
        }
        if (getComputedStyle(node).position === 'static') node.style.position = 'relative';
        const mark = dot || document.createElement('span');
        mark.className = dotClass;
        mark.setAttribute('aria-hidden', 'true');
        mark.style.cssText = 'position:absolute;top:8px;right:8px;width:10px;height:10px;border-radius:50%;background:#fff;box-shadow:0 0 0 2px #111;pointer-events:none;z-index:5';
        if (!dot) node.appendChild(mark);
    };

    const clearMarks = () => {
        document.querySelectorAll('.' + dotClass).forEach((dot) => dot.remove());
        document.querySelectorAll('.Image-image').forEach((opt) => {
            opt.style.outline = '';
            opt.style.outlineOffset = '';
        });
    };

    document.addEventListener('keydown', (event) => {
        if (event.repeat || event.key !== 'F8') return;
        event.preventDefault();
        enabled = !enabled;
        if (!enabled) clearMarks();
    }, true);

    setInterval(() => {
        if (!enabled) return;

        const target = document.querySelector('[data-testid="normalPrompt"]')?.parentElement;
        if (!target) return;

        const fiberKey = Object.keys(target).find((key) => key.startsWith('__reactFiber$'));
        const stateNode = fiberKey && target[fiberKey]?.child?.pendingProps;
        if (!stateNode?.currentQuestion || !stateNode?.options) return;

        const cardSides = stateNode.currentQuestion.cardSides.map((side) => side.media);
        const answerSide = stateNode.options.answerWith === 'definition' ? cardSides[1] : cardSides[0];
        const answerIsImage = answerSide[0].languageCode === 'photo';

        if (answerIsImage) {
            document.querySelectorAll('.Image-image').forEach((opt) => {
                opt.style.outline = '';
                opt.style.outlineOffset = '';
                paint(opt, Boolean(opt.getAttribute('style')?.includes(answerSide[1].url)));
            });
            return;
        }

        const answerOpts = document.querySelector('div[data-testid="normalPrompt"]')?.parentElement?.children[1];
        if (!answerOpts) return;

        [...answerOpts.children].forEach((opt) => {
            opt.style.outline = '';
            opt.style.outlineOffset = '';
            paint(opt, opt.children[0]?.innerText === answerSide[0].plainText);
        });
    }, 50);
})();

Kopier henter hele scriptet, også den del der er scrollet væk. Du kan også markere teksten selv.

Quizlet Live - Genvej

1. okt. 2026 · 2,3 KB · Gratis

v1.2

Grøn ramme rundt om det rigtige svar. Tryk F8 for at slå markeringen til og fra.

quizlet-live-genvej.js
Hent fil
(() => {
    let enabled = true;

    const clearMarks = () => {
        document.querySelectorAll('.Image-image').forEach((opt) => {
            opt.style.outline = '';
            opt.style.outlineOffset = '';
        });
        const box = document.querySelector('div[data-testid="normalPrompt"]')?.parentElement?.children[1];
        if (!box) return;
        [...box.children].forEach((card) => {
            card.style.outline = '';
            card.style.outlineOffset = '';
        });
    };

    document.addEventListener('keydown', (event) => {
        if (event.repeat || event.key !== 'F8') return;
        event.preventDefault();
        enabled = !enabled;
        if (!enabled) clearMarks();
    }, true);

    setInterval(() => {
        if (!enabled) return;

        const target = document.querySelector('[data-testid="normalPrompt"]')?.parentElement;
        if (!target) return;

        const fiberKey = Object.keys(target).find((key) => key.startsWith('__reactFiber$'));
        const stateNode = fiberKey && target[fiberKey]?.child?.pendingProps;
        if (!stateNode?.currentQuestion || !stateNode?.options) return;

        const cardSides = stateNode.currentQuestion.cardSides.map((side) => side.media);
        const answerSide = stateNode.options.answerWith === 'definition' ? cardSides[1] : cardSides[0];
        const answerIsImage = answerSide[0].languageCode === 'photo';

        if (answerIsImage) {
            document.querySelectorAll('.Image-image').forEach((opt) => {
                const isCorrect = opt.getAttribute('style')?.includes(answerSide[1].url);
                opt.style.outline = isCorrect ? '2px solid rgba(0, 200, 80, 0.6)' : '';
                opt.style.outlineOffset = isCorrect ? '2px' : '';
                if (isCorrect) opt.style.borderRadius = '3px';
            });
            return;
        }

        const answerOpts = document.querySelector('div[data-testid="normalPrompt"]')?.parentElement?.children[1];
        if (!answerOpts) return;

        [...answerOpts.children].forEach((opt) => {
            const isCorrect = opt.children[0]?.innerText === answerSide[0].plainText;
            opt.style.outline = isCorrect ? '2px solid rgba(0, 200, 80, 0.6)' : '';
            opt.style.outlineOffset = isCorrect ? '1px' : '';
        });
    }, 50);
})();

Kopier henter hele scriptet, også den del der er scrollet væk. Du kan også markere teksten selv.

Quizlet Live - Prik

1. okt. 2026 · 2,1 KB · Gratis

v1.1

Lille hvid prik på det rigtige svar i stedet for en ramme. Virker til både tekst og billeder.

quizlet-live-prik.js
Hent fil
(() => {
    const dotClass = 'qh-dot';

    const paint = (node, on) => {
        if (!node) return;
        const dot = [...node.children].find((child) => child.classList?.contains(dotClass));
        if (!on) {
            if (dot) dot.remove();
            return;
        }
        if (getComputedStyle(node).position === 'static') node.style.position = 'relative';
        const mark = dot || document.createElement('span');
        mark.className = dotClass;
        mark.setAttribute('aria-hidden', 'true');
        mark.style.cssText = 'position:absolute;top:8px;right:8px;width:10px;height:10px;border-radius:50%;background:#fff;box-shadow:0 0 0 2px #111;pointer-events:none;z-index:5';
        if (!dot) node.appendChild(mark);
    };

    setInterval(() => {
        const target = document.querySelector('[data-testid="normalPrompt"]')?.parentElement;
        if (!target) return;

        const fiberKey = Object.keys(target).find((key) => key.startsWith('__reactFiber$'));
        const stateNode = fiberKey && target[fiberKey]?.child?.pendingProps;
        if (!stateNode?.currentQuestion || !stateNode?.options) return;

        const cardSides = stateNode.currentQuestion.cardSides.map((side) => side.media);
        const answerSide = stateNode.options.answerWith === 'definition' ? cardSides[1] : cardSides[0];
        const answerIsImage = answerSide[0].languageCode === 'photo';

        if (answerIsImage) {
            document.querySelectorAll('.Image-image').forEach((opt) => {
                opt.style.outline = '';
                opt.style.outlineOffset = '';
                paint(opt, Boolean(opt.getAttribute('style')?.includes(answerSide[1].url)));
            });
            return;
        }

        const answerOpts = document.querySelector('div[data-testid="normalPrompt"]')?.parentElement?.children[1];
        if (!answerOpts) return;

        [...answerOpts.children].forEach((opt) => {
            opt.style.outline = '';
            opt.style.outlineOffset = '';
            paint(opt, opt.children[0]?.innerText === answerSide[0].plainText);
        });
    }, 50);
})();

Kopier henter hele scriptet, også den del der er scrollet væk. Du kan også markere teksten selv.

Quizlet Live - Ramme

1. okt. 2026 · 1,8 KB · Gratis

v1.0

Grøn ramme rundt om det rigtige svar. Virker til både tekst og billeder.

quizlet-live.js
Hent fil
(() => setInterval(() => {
    const target = document.querySelector('[data-testid="normalPrompt"]')?.parentElement;
    if (!target) return;

    const targetFiber = target[Object.keys(target).find(e => e.startsWith('__reactFiber$'))];
    const stateNode = targetFiber.child.pendingProps;
    const cardSides = stateNode.currentQuestion.cardSides.map(e => e.media);
    const questionType = stateNode.options.answerWith;

    const side1IsQuestion = questionType === 'definition';
    const answerSide = side1IsQuestion ? cardSides[1] : cardSides[0];
    const answerIsImage = answerSide[0].languageCode === 'photo';

    if (answerIsImage) {
        const answerOpts = document.querySelectorAll('.Image-image');
        answerOpts.forEach((opt) => {
            const isCorrect = opt.getAttribute('style').includes(answerSide[1].url);
            if (isCorrect) {
                opt.style.outline = '2px solid rgba(0, 200, 80, 0.6)';
                opt.style.outlineOffset = '2px';
                opt.style.borderRadius = '3px';
            } else {
                opt.style.outline = '';
                opt.style.outlineOffset = '';
            }
        });
    } else {
        const answerOpts = document.querySelector('div[data-testid="normalPrompt"]').parentElement.children[1];

        const answerCard = [...answerOpts.children].find((opt) => opt.children[0].innerText === answerSide[0].plainText);
        const wrongCards = [...answerOpts.children].filter(a => a !== answerCard);

        if (answerCard) {
            answerCard.style.outline = '2px solid rgba(0, 200, 80, 0.6)';
            answerCard.style.outlineOffset = '1px';
        }
        wrongCards.forEach((card) => {
            card.style.color = '';
            card.style.outline = '';
            card.style.outlineOffset = '';
        });
    }
}, 50))();

Kopier henter hele scriptet, også den del der er scrollet væk. Du kan også markere teksten selv.