diff options
Diffstat (limited to 'ext/fg/js')
-rw-r--r-- | ext/fg/js/client.js | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/ext/fg/js/client.js b/ext/fg/js/client.js index 5b8cfe29..1f77ed95 100644 --- a/ext/fg/js/client.js +++ b/ext/fg/js/client.js @@ -20,7 +20,7 @@ class Client { constructor() { this.popup = new Popup(); - this.audio = null; + this.audio = {}; this.lastMousePos = null; this.lastRange = null; this.activateKey = 16; @@ -172,12 +172,15 @@ class Client { const dfn = this.definitions[index]; const url = `http://assets.languagepod101.com/dictionary/japanese/audiomp3.php?kana=${dfn.reading}&kanji=${dfn.expression}`; - if (this.audio !== null) { - this.audio.pause(); + for (let key in this.audio) { + this.audio[key].pause(); } - this.audio = new Audio(url); - this.audio.play(); + const audio = this.audio[url] || new Audio(url); + audio.currentTime = 0; + audio.play(); + + this.audio[url] = audio; } api_displayKanji(kanji) { |