Skip to content

Commit b9c7693

Browse files
committed
Add transform target for KF8 files
1 parent d5286ae commit b9c7693

1 file changed

Lines changed: 8 additions & 2 deletions

File tree

mobi.js

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -925,6 +925,7 @@ const getPageSpread = properties => {
925925
class KF8 {
926926
parser = new DOMParser()
927927
serializer = new XMLSerializer()
928+
transformTarget = new EventTarget()
928929
#cache = new Map()
929930
#fragmentOffsets = new Map()
930931
#fragmentSelectors = new Map()
@@ -1071,8 +1072,13 @@ class KF8 {
10711072
: await this.mobi.loadResource(id - 1)
10721073
const result = [MIME.XHTML, MIME.HTML, MIME.CSS, MIME.SVG].includes(type)
10731074
? await this.replaceResources(this.mobi.decode(raw)) : raw
1074-
const doc = type === MIME.SVG ? this.parser.parseFromString(result, type) : null
1075-
return [new Blob([result], { type }),
1075+
const detail = { data: result, type }
1076+
const event = new CustomEvent('data', { detail })
1077+
this.transformTarget.dispatchEvent(event)
1078+
const newData = await event.detail.data
1079+
const newType = await event.detail.type
1080+
const doc = newType === MIME.SVG ? this.parser.parseFromString(newData, newType) : null
1081+
return [new Blob([newData], { newType }),
10761082
// SVG wrappers need to be inlined
10771083
// as browsers don't allow external resources when loading SVG as an image
10781084
doc?.getElementsByTagNameNS('http://www.w3.org/2000/svg', 'image')?.length

0 commit comments

Comments
 (0)