Kopiér
Tryk Kopier på den version, du vil bruge. Hele scriptet lægges i udklipsholderen. Du kan også markere koden selv.
Gratis for alle
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.
Tryk Kopier på den version, du vil bruge. Hele scriptet lægges i udklipsholderen. Du kan også markere koden selv.
Gå ind i Quizlet Live, tryk F12, og vælg fanen Konsol.
Indsæt scriptet i konsollen, og tryk Enter. Det kører lokalt i din egen browser.
4 versioner · nyeste øverst
Lille prik på det rigtige svar, uden ramme. Tryk F8 for at slå prikken til og fra.
(() => {
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.
Grøn ramme rundt om det rigtige svar. Tryk F8 for at slå markeringen til og fra.
(() => {
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.
Lille hvid prik på det rigtige svar i stedet for en ramme. Virker til både tekst og billeder.
(() => {
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.
Grøn ramme rundt om det rigtige svar. Virker til både tekst og billeder.
(() => 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.