// ==UserScript== // @name Quizlet Test AutoCompletetion Disabler // @version 1.1 // @author refracta // @description Remove lag-causing autocompletion in Quizlet test // @match https://quizlet.com/* // @icon https://www.google.com/s2/favicons?sz=64&domain=quizlet.com // @license MIT // @namespace https://greasyfork.org/users/467840 // @downloadURL none // ==/UserScript== (async function () { 'use strict'; if (location.pathname.endsWith('/test')) { Object.keys = (function (original) { return function (...args) { let keys = original.apply(this, args); if (keys.length === 1) { let lang = keys[0]; if (lang === Quizlet?.TestMode?.setLangs?.[0]?.defLang || lang === Quizlet?.TestMode?.setLangs?.[0]?.wordLang) { return []; } return keys; } else { return keys; } }; })(Object.keys); Array.prototype.push = (function (original) { return function (...args) { const isAutoCompleteElement = args.some(arg => arg && typeof arg === 'object' && Object.keys(arg).length === 2 && 'character' in arg && 'lang' in arg); if (isAutoCompleteElement) { return this.length; } else { return original.apply(this, args); } }; })(Array.prototype.push); } })();