您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Blur the text unless space is held
当前为
// ==UserScript== // @name Duolingo Blur // @description Blur the text unless space is held // @namespace http://tampermonkey.net/ // @version 1.0 // @author You // @match https://www.duolingo.com/* // @license MIT // ==/UserScript== const duoBlurClass = 'duo-blur' const style = document.createElement('style'); // ._1ELE3.XxgPa, .duo-blur ._2IGwo.XxgPa style.textContent = ` .duo-blur .XxgPa { filter: blur(4px); } `; document.head.appendChild(style); document.body.classList.add(duoBlurClass) function setBlur(enabled) { if (enabled && !document.body.classList.contains(duoBlurClass)) { document.body.classList.add(duoBlurClass); } else if (!enabled && document.body.classList.contains(duoBlurClass)) { document.body.classList.remove(duoBlurClass); } } let hideBlurOverride = false; document.addEventListener('keydown', e => { if (e.key === 'Shift') { setBlur(false); hideBlurOverride = true; } }); document.addEventListener('keyup', e => { if (e.key === 'Shift') { setBlur(true); hideBlurOverride = false; } }); function hasSpeakerButton() { return !!document.getElementsByClassName('_1OCYa').length } function onTimer() { if (hideBlurOverride) return; setBlur(hasSpeakerButton()); } setInterval(onTimer, 100)