From bdae4730125dcf9bdc5a5154cfb39de34b52013d Mon Sep 17 00:00:00 2001 From: Huang Xin Date: Sat, 2 Aug 2025 07:44:52 +0800 Subject: [PATCH] Add custom event for loading manifest item (#76) --- epub.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/epub.js b/epub.js index 4361557..12532eb 100644 --- a/epub.js +++ b/epub.js @@ -706,7 +706,6 @@ class Loader { #cache = new Map() #children = new Map() #refCount = new Map() - allowScript = false eventTarget = new EventTarget() constructor({ loadText, loadBlob, resources }) { this.loadText = loadText @@ -765,7 +764,11 @@ class Loader { const { href, mediaType } = item const isScript = MIME.JS.test(item.mediaType) - if (isScript && !this.allowScript) return null + const detail = { type: mediaType, isScript, allow: true} + const event = new CustomEvent('load', { detail }) + this.eventTarget.dispatchEvent(event) + const allow = await event.detail.allow + if (!allow) return null const parent = parents.at(-1) if (this.#cache.has(href)) return this.ref(href, parent)