NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name Hint Spoiler (Khan Academy) // @version 0.1 // @description Hides the "Hint" in coding challanges by default, and allows you to show it with the click of a button. // @namespace http://bigbub.net/ // @homepageURL http://bigbub.net/ // @author Jespser Gustafsson // @include http*://www.khanacademy.org/computer-programming/* // @include http*://www.khanacademy.org/computing/computer-programming/*/*/p/* // @grant none // @require http://code.jquery.com/jquery-1.12.4.min.js // ==/UserScript== (function() { 'use strict'; // function wrapHintInSpoiler() { var $hint = $('h3:contains("Hint")').parent().children().last(); if ($hint.length > 0) { // Toggle hint (show/hide it) when it is clicked $hint.on('click', function() { if ($hint.children().first().css('visibility') == 'hidden') { $hint.children().css('visibility', 'visible'); } else { $hint.children().css('visibility', 'hidden'); } }); // Hide it by default $hint.children().css('visibility', 'hidden'); return true; } return false; } // Try wrapping the hint until we succeed var intv = setInterval(function() { var success = wrapHintInSpoiler(); // Try wrapping hint if (success) { clearInterval(intv); } // If successful, stop trying }, 0); })();