diff options
-rw-r--r-- | ext/sb/js/sandbox.js | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/ext/sb/js/sandbox.js b/ext/sb/js/sandbox.js index bf1d56c1..0a0ff31b 100644 --- a/ext/sb/js/sandbox.js +++ b/ext/sb/js/sandbox.js @@ -23,7 +23,14 @@ window.addEventListener('message', event => { if (event.data.command === 'render') { - const template = Handlebars.compile(event.data.template || ''); + window.yomichan_cache = window.yomichan_cache || {}; + + let template = window.yomichan_cache[event.data.template]; + if (!template) { + template = Handlebars.compile(event.data.template || ''); + window.yomichan_cache[event.data.template] = template; + } + const result = template(event.data.data || {}); event.source.postMessage({result, sequence: event.data.sequence}, '*'); } |