使用Javascript与UIWebView处理ePub分页的问题

Issue with handling ePub pagination using Javascript with UIWebView

本文关键字:分页 问题 ePub 处理 Javascript UIWebView 使用      更新时间:2023-09-26

我在我的应用程序中实现了一个"迷你epub阅读器"。为了确定一章中有多少页(基于底层UIWebView帧宽度的分页),我通过

获得scrollWidth

document.documentElement.scrollWidth

和使用CSS样式

-webkit-column-width: (UIWebView的帧宽).

并除以UIWebView的帧宽度。所以基本上我的"get next/previous page"使用以下Javascript

window.scrollTo()

可以正常工作,除非文本完全填满了一个可查看的页面。在这种情况下,document.documentElement.scrollWidth似乎比必要的大一页(UIWebView宽度),我看到的是章节末尾的空白页。

有什么办法可以避免这种情况,或者在可视区域检测"空白"内容吗?

BTW,这是当我处理ePub文件与日文tategaki,所以在现实中我使用

document.documentElement.scrollHeight

原来是边距造成了空白。这个CSS实现了这个技巧

 margin-left: 0%; margin-right: 0%; margin-top: 0%; margin-bottom: 0%;