// ==UserScript== // @name TAB shortcut-key play voice for Duolingo // @namespace TAB shortcut-key play voice for Duolingo // @version 0.5 // @description TAB shortcut-key play voice for Duolingo (タブキーで発音を聞く) // @author meguru // @match https://www.duolingo.com/* // @grant none // @downloadURL none // ==/UserScript== (function() { 'use strict'; function playSound(evt) { if (evt.keyCode === 9) { const ae = document.activeElement; const t10 = document.evaluate('//*[@id="root"]/div/div/div/div/div[2]/div/div/div/div/div/div[1]/div/div[1]', document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null ); const t11 = document.evaluate('//*[@id="root"]/div/div/div/div/div[2]/div/div/div/div/div/div[1]/div/div/button', document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null ); const t20 = document.evaluate('//*[@id="root"]/div/div/div/div/div[2]/div/div/div/div/div/div[1]/button', document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null ); const t21 = document.evaluate('//*[@id="root"]/div/div/div/div/div[2]/div/div/div/div/div/div[1]/div/button', document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); if (t11.snapshotLength > 0) t11.snapshotItem(0).click(); if (t21.snapshotLength > 0) t21.snapshotItem(0).click(); evt.preventDefault(); } } document.addEventListener("keydown", playSound, false); })();