// ==UserScript== // @name Study.com Quiz Answers // @namespace Violentmonkey Scripts // @match *://*.study.com/* // @include https://study.com/* // @grant none // @version 1.1.0 // @author Jonah Lawrence // @description Highlights correct answers with a green background on Study.com quizzes and exams // @downloadURL none // ==/UserScript== /* jshint esversion: 6 */ (function () { const interval = setInterval(function () { const container = document.querySelector("#practice-exam-container"); // check if practice-exam-container element exists (only on exam pages) if (container) { const controller = angular.element(container).controller(); if (controller) { // get questions const questions = controller.questionByQuestionInstanceId; // highlight the answer to each question Object.values(questions).forEach(function (x) { const correctAnswer = document.querySelector(`li[ng-class*="${x.correctQuizQuestionOptionId}"]`); if (correctAnswer) { correctAnswer.style.background = "#c5ff81"; correctAnswer.style.borderRadius = "2px"; correctAnswer.style.boxShadow = "0 0 0 6px #c5ff81"; // no need to keep checking clearInterval(interval); } }); } } else { // add styling for showing quiz answers const style = document.createElement('style'); style.innerText = ` label[data-correct="true"] { background: #c5ff81; box-shadow: 0 0 0 14px #c5ff81; }`; document.head.appendChild(style); // disable interval since this is not an exam clearInterval(interval); } }, 500); })();