diff --git a/ext/fg/js/driver.js b/ext/fg/js/driver.js index e94a4ac2..98c50a02 100644 --- a/ext/fg/js/driver.js +++ b/ext/fg/js/driver.js @@ -144,6 +144,7 @@ window.driver = new class { const textSource = docRangeFromPoint(point, this.options.scanning.imposter); if (!textSource || !textSource.containsPoint(point)) { + docImposterDestroy(); return; } @@ -168,6 +169,7 @@ window.driver = new class { return bgTermsFind(textSource.text()).then(({definitions, length}) => { if (definitions.length === 0) { + docImposterDestroy(); return false; } else { textSource.setEndOffset(length); @@ -186,6 +188,7 @@ window.driver = new class { textSource.select(); } + docImposterDestroy(); return true; } }); diff --git a/ext/fg/js/util.js b/ext/fg/js/util.js index e5705ffd..88d160cc 100644 --- a/ext/fg/js/util.js +++ b/ext/fg/js/util.js @@ -112,12 +112,6 @@ function docImposterDestroy() { } } -function docImposterHide() { - for (const element of document.getElementsByClassName('yomichan-imposter')) { - element.style.visibility = 'hidden'; - } -} - function docRangeFromPoint(point, imposter) { const element = document.elementFromPoint(point.x, point.y); if (element !== null) { @@ -144,11 +138,9 @@ function docRangeFromPoint(point, imposter) { const range = document.caretRangeFromPoint(point.x, point.y); if (range !== null) { - docImposterHide(); return new TextSourceRange(range); } - docImposterDestroy(); return null; }