// ==UserScript== // @name Study.com Quiz Answers // @namespace Violentmonkey Scripts // @match *://*.study.com/* // @include https://study.com/* // @grant none // @version 1.1 // @author Jonah Lawrence // @description Highlights correct answers with a green background on Study.com quizes 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 styles = 'label[data-correct="true"] { background: #c5ff81; box-shadow: 0 0 0 14px #c5ff81; }'; document.getElementsByTagName("head")[0].insertAdjacentHTML("beforeend", ``); // disable interval since this is not an exam clearInterval(interval); } }, 500); })();