在使用epubjsgood调整字体大小或者变更字体的时候,多数书籍是正常的,有部分微信读书的格式较为特殊,在上一页到上一章、下一页到下一章的时候会出现部分内容看不到的情况,翻阅了epubjs项目的issue,基本很多人都会碰到这类问题,总结了几点,基本能解决部分书籍的翻页漏内容的问题。
操作步骤
1、使用最新版的epub.js,github可以下载到
2、在currentLocation()方法中加入updateLayout()方法调用
currentLocation() {
this.updateLayout(); //新增内容,这样才能在变更字体/大小的时候重新更新布局
if (this.isPaginated && this.settings.axis === "horizontal") {
this.location = this.paginatedLocation();
} else {
this.location = this.scrolledLocation();
}
return this.location;
}
3、在epubjsgood中,变更完字体/大小,需要手动再调用 currentLocation()方法即可
reader.rendition.themes.default({ "p": { "margin-bottom": "0px !important;"}});
reader.rendition.currentLocation();
这样可以针对格式复杂的文件,修改字体或者字体大小后,能继续阅读本章后续内容而不是被截断