diff options
author | Alex Yatskov <alex@foosoft.net> | 2020-04-18 11:05:35 -0700 |
---|---|---|
committer | Alex Yatskov <alex@foosoft.net> | 2020-04-18 11:05:35 -0700 |
commit | f2186c51e4ef219d158735d30a32bbf3e49c4e1a (patch) | |
tree | 61de35513b6182e83b626c1571bc2aa97234e3b0 /ext/bg/js/search-frontend.js | |
parent | b3e79d0e396353de2cbefb945412bfda4bd6ca99 (diff) | |
parent | 9e7750125c40d1c4121e8d015957606721bede7c (diff) |
Merge branch 'master' into testing
Diffstat (limited to 'ext/bg/js/search-frontend.js')
-rw-r--r-- | ext/bg/js/search-frontend.js | 40 |
1 files changed, 27 insertions, 13 deletions
diff --git a/ext/bg/js/search-frontend.js b/ext/bg/js/search-frontend.js index 9cc1436f..e534e771 100644 --- a/ext/bg/js/search-frontend.js +++ b/ext/bg/js/search-frontend.js @@ -19,18 +19,7 @@ * apiOptionsGet */ -async function searchFrontendSetup() { - await yomichan.prepare(); - - const optionsContext = { - depth: 0, - url: window.location.href - }; - const options = await apiOptionsGet(optionsContext); - if (!options.scanning.enableOnSearchPage) { return; } - - window.frontendInitializationData = {depth: 1, proxy: false}; - +function injectSearchFrontend() { const scriptSrcs = [ '/mixed/js/text-scanner.js', '/fg/js/frontend-api-receiver.js', @@ -62,4 +51,29 @@ async function searchFrontendSetup() { } } -searchFrontendSetup(); +async function main() { + await yomichan.prepare(); + + let optionsApplied = false; + + const applyOptions = async () => { + const optionsContext = { + depth: 0, + url: window.location.href + }; + const options = await apiOptionsGet(optionsContext); + if (!options.scanning.enableOnSearchPage || optionsApplied) { return; } + optionsApplied = true; + + window.frontendInitializationData = {depth: 1, proxy: false, isSearchPage: true}; + injectSearchFrontend(); + + yomichan.off('optionsUpdated', applyOptions); + }; + + yomichan.on('optionsUpdated', applyOptions); + + await applyOptions(); +} + +main(); |