summaryrefslogtreecommitdiff
path: root/ext/fg
diff options
context:
space:
mode:
Diffstat (limited to 'ext/fg')
-rw-r--r--ext/fg/float.html1
-rw-r--r--ext/fg/js/float-main.js30
2 files changed, 9 insertions, 22 deletions
diff --git a/ext/fg/float.html b/ext/fg/float.html
index deb9e9d2..6f37de52 100644
--- a/ext/fg/float.html
+++ b/ext/fg/float.html
@@ -52,6 +52,7 @@
<script src="/mixed/js/display-context.js"></script>
<script src="/mixed/js/display.js"></script>
<script src="/mixed/js/display-generator.js"></script>
+ <script src="/mixed/js/dynamic-loader.js"></script>
<script src="/mixed/js/media-loader.js"></script>
<script src="/mixed/js/scroll.js"></script>
<script src="/mixed/js/template-handler.js"></script>
diff --git a/ext/fg/js/float-main.js b/ext/fg/js/float-main.js
index 5ef4b07c..e7e50a54 100644
--- a/ext/fg/js/float-main.js
+++ b/ext/fg/js/float-main.js
@@ -19,23 +19,18 @@
* DisplayFloat
* apiForwardLogsToBackend
* apiOptionsGet
+ * dynamicLoader
*/
-function injectPopupNested() {
- const scriptSrcs = [
+async function injectPopupNested() {
+ await dynamicLoader.loadScripts([
'/mixed/js/text-scanner.js',
'/fg/js/frontend-api-sender.js',
'/fg/js/popup.js',
'/fg/js/popup-proxy.js',
'/fg/js/frontend.js',
'/fg/js/content-script-main.js'
- ];
- for (const src of scriptSrcs) {
- const script = document.createElement('script');
- script.async = false;
- script.src = src;
- document.body.appendChild(script);
- }
+ ]);
}
async function popupNestedInitialize(id, depth, parentFrameId, url) {
@@ -44,23 +39,14 @@ async function popupNestedInitialize(id, depth, parentFrameId, url) {
const applyOptions = async () => {
const optionsContext = {depth, url};
const options = await apiOptionsGet(optionsContext);
- const popupNestingMaxDepth = options.scanning.popupNestingMaxDepth;
-
- const maxPopupDepthExceeded = !(
- typeof popupNestingMaxDepth === 'number' &&
- typeof depth === 'number' &&
- depth < popupNestingMaxDepth
- );
- if (maxPopupDepthExceeded || optionsApplied) {
- return;
- }
+ const maxPopupDepthExceeded = !(typeof depth === 'number' && depth < options.scanning.popupNestingMaxDepth);
+ if (maxPopupDepthExceeded || optionsApplied) { return; }
optionsApplied = true;
+ yomichan.off('optionsUpdated', applyOptions);
window.frontendInitializationData = {id, depth, parentFrameId, url, proxy: true};
- injectPopupNested();
-
- yomichan.off('optionsUpdated', applyOptions);
+ await injectPopupNested();
};
yomichan.on('optionsUpdated', applyOptions);