diff options
Diffstat (limited to 'ext/fg/js')
-rw-r--r-- | ext/fg/js/client.js | 12 | ||||
-rw-r--r-- | ext/fg/js/frame.js | 6 |
2 files changed, 10 insertions, 8 deletions
diff --git a/ext/fg/js/client.js b/ext/fg/js/client.js index 44a3b84c..7f07d918 100644 --- a/ext/fg/js/client.js +++ b/ext/fg/js/client.js @@ -77,9 +77,11 @@ class Client { } onFrameMessage(e) { - // const {action, data} = e.data; - // switch (action) { - // } + const {action, data} = e.data, handlers = { + displayKanji: this.displayKanji + }; + + handlers[action].call(this, data); } searchAt(point) { @@ -134,6 +136,10 @@ class Client { this.lastRange = null; } + displayKanji(kanji) { + this.popup.setContent(kanji); + } + setEnabled(enabled) { if (!(this.enabled = enabled)) { this.hidePopup(); diff --git a/ext/fg/js/frame.js b/ext/fg/js/frame.js index c8f8211e..66932c2c 100644 --- a/ext/fg/js/frame.js +++ b/ext/fg/js/frame.js @@ -17,15 +17,11 @@ */ -function onKanjiQuery(kanji) { - alert(kanji); -} - function registerKanjiLinks() { for (const link of [].slice.call(document.getElementsByClassName('kanji-link'))) { link.addEventListener('click', (e) => { e.preventDefault(); - onKanjiQuery(e.target.innerHTML); + window.parent.postMessage({action: 'displayKanji', data: e.target.innerHTML}, '*'); }); } } |