prevent injecting frontend multiple times
This commit is contained in:
parent
9adbc80a70
commit
61a96e327a
@ -54,13 +54,16 @@ function injectSearchFrontend() {
|
||||
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) { return; }
|
||||
if (!options.scanning.enableOnSearchPage || optionsApplied) { return; }
|
||||
optionsApplied = true;
|
||||
|
||||
window.frontendInitializationData = {depth: 1, proxy: false};
|
||||
injectSearchFrontend();
|
||||
|
@ -44,15 +44,24 @@ async function popupNestedInitialize(id, depth, parentFrameId, url) {
|
||||
}
|
||||
popupNestedInitialized = true;
|
||||
|
||||
let optionsApplied = false;
|
||||
|
||||
const applyOptions = async () => {
|
||||
const optionsContext = {depth, url};
|
||||
const options = await apiOptionsGet(optionsContext);
|
||||
const popupNestingMaxDepth = options.scanning.popupNestingMaxDepth;
|
||||
|
||||
if (!(typeof popupNestingMaxDepth === 'number' && typeof depth === 'number' && depth < popupNestingMaxDepth)) {
|
||||
const maxPopupDepthExceeded = !(
|
||||
typeof popupNestingMaxDepth === 'number' &&
|
||||
typeof depth === 'number' &&
|
||||
depth < popupNestingMaxDepth
|
||||
);
|
||||
if (maxPopupDepthExceeded || optionsApplied) {
|
||||
return;
|
||||
}
|
||||
|
||||
optionsApplied = true;
|
||||
|
||||
window.frontendInitializationData = {id, depth, parentFrameId, url, proxy: true};
|
||||
injectPopupNested();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user