最简单的方法是从被标记的地方开始加载文本,这样跳转后的页面是以标记的文本开头。但实际上如果从章节首部开始进行分页(往后面逐个翻页),标记文本的位置未必在页面的首部(如中间或者尾部)。
为了阅读的体验,阅读器应该找到包含标记文本页面的首个文字开始加载内容(而不是从标记文本位置开始),难点在于怎么找到这个位置?如果能够快速对章节进行分页,相信应该能够做到这点。不过找到的几种方法不是很靠谱:
请问有好的方法能实现上面的功能吗?
PS:
目前发现掌阅的“想法”和“书签”能够做到这样(在更换字体和修改字体大小的情况下同样如此),QQ 阅读和 FBReader 都不支持。
1
winglight2016 2017-11-26 09:36:19 +08:00
我也碰到过类似的问题,只是没有进一步去实现,所以只提供两个思路:
1.使用 html 锚定 2.计算页数的时候,只渲染一页出来,然后统计当前字数,再来计算页数,这样即使不完全准确,误差也是可以接受的,毕竟还有每章开头结尾的自动分页,所以把这个差距也考虑就差不多了 |
2
judging47 OP 感谢!!!
第一种方法我还没想到,这个思路很好,我得研究一下; 第二种方法应该能做到大概,对于非等宽字体可能误差比较大,不过比直接加载标记文本要好; |