关于电子书分页问题
来源:10-13 后端API源码上传git演示
如雨
2019-07-30
调试的时候才发现有些电子书分页会出现上图的情况,有些又是正常分页,一直找不到原因,能麻烦老师帮调试一下吗,地址https://github.com/HenryNer/firstWrapper
下面是修改后的
写回答
1回答
-
Sam
2019-07-30
hi,这个问题涉及到分页算法,因为课时有限,所以没有穷举所有的翻页算法,会出现上述问题的原因是因为navigation获取的目录名称和通过locations获取的目录名称不一致导致,解决方法如下:
修改EbookReader.vue 238行,替换为如下代码,改动部分已经注释:
locations.forEach(item => { const loc = item.match(/\[(.*)]!/)[1] this.navigation.forEach(nav => { if (nav.href) { // 兼容xhtml的文件的场景,优化了正则表达式 let href = nav.href.match(/\/(.*)\.xhtml$/) // 如果没有匹配到,则再使用html正则进行匹配 if (!href) { href = nav.href.match(/^(.*)\.html$/) } if (href) { // loc只要包含href[1]中的内容,则认为包含在该目录下 if (loc.indexOf(href[1]) >= 0) { nav.pagelist.push(item) } } } }) let currentPage = 1 this.navigation.forEach((nav, index) => { if (index === 0) { nav.page = 1 } else { nav.page = currentPage } currentPage += nav.pagelist.length + 1 }) })
022019-07-31
相似问题