Skip to content

Commit

Permalink
Added another way of finding page-breaks and checking for base url ex…
Browse files Browse the repository at this point in the history
…istenz
  • Loading branch information
aferditamuriqi committed Sep 29, 2022
1 parent dc2c3f6 commit d390135
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 12 deletions.
3 changes: 3 additions & 0 deletions src/modules/pagebreak/PageBreakModule.ts
Original file line number Diff line number Diff line change
Expand Up @@ -171,6 +171,9 @@ export class PageBreakModule implements ReaderModule {
setTimeout(() => {
const body = this.delegate.iframes[0].contentDocument?.body;
let pageBreaks = body?.querySelectorAll('[*|type="pagebreak"]');
if (pageBreaks?.length === 0) {
pageBreaks = body?.querySelectorAll("[epub\\:type='pagebreak']");
}
let self = this;

function getCssSelector(element: Element): string {
Expand Down
33 changes: 21 additions & 12 deletions src/navigator/IFrameNavigator.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1527,10 +1527,13 @@ export class IFrameNavigator extends EventEmitter implements Navigator {
for (const iframe of this.iframes) {
const head = iframe.contentDocument?.head;
if (head) {
head.insertBefore(
IFrameNavigator.createBase(this.currentChapterLink.href),
head.firstChild
);
const bases = iframe.contentDocument.getElementsByTagName("base");
if (bases.length === 0) {
head.insertBefore(
IFrameNavigator.createBase(this.currentChapterLink.href),
head.firstChild
);
}

this.injectables?.forEach((injectable) => {
if (injectable.type === "style") {
Expand Down Expand Up @@ -1622,10 +1625,13 @@ export class IFrameNavigator extends EventEmitter implements Navigator {
const parser = new DOMParser();
const doc = parser.parseFromString(content, "application/xhtml+xml");
if (doc.head) {
doc.head.insertBefore(
IFrameNavigator.createBase(href),
doc.head.firstChild
);
const bases = doc.getElementsByTagName("base");
if (bases.length === 0) {
doc.head.insertBefore(
IFrameNavigator.createBase(href),
doc.head.firstChild
);
}
}
const newHTML = doc.documentElement.outerHTML;
const iframeDoc = self.iframes[0].contentDocument;
Expand All @@ -1640,10 +1646,13 @@ export class IFrameNavigator extends EventEmitter implements Navigator {
const parser = new DOMParser();
const doc = parser.parseFromString(content, "application/xhtml+xml");
if (doc.head) {
doc.head.insertBefore(
IFrameNavigator.createBase(href),
doc.head.firstChild
);
const bases = doc.getElementsByTagName("base");
if (bases.length === 0) {
doc.head.insertBefore(
IFrameNavigator.createBase(href),
doc.head.firstChild
);
}
}
const newHTML = doc.documentElement.outerHTML;
const iframeDoc = self.iframes[1].contentDocument;
Expand Down

0 comments on commit d390135

Please sign in to comment.