3

我已经开发了一个库(我将很快在 BSD/MIT 许可下发布)来模拟 Apple iBooks 中可重排 EPUB3 电子书的媒体覆盖支持(又名“大声朗读”或“SMIL”)。(我提醒您,iBooks 仅在 FXL 布局模式下支持 MO,与 Readium 或 Azardi 不同。)

当当前活动的 SMIL 片段离开当前页面并转到下一个页面时,我想让 iBooks “翻页”。为此,我需要:

1)意识到活动片段已经超出了当前页面,2)强制翻页。

第一点可以(繁琐地)通过计算 SMIL 元素偏移量来实现;我被困在表演2)。

在 Apple 的 ibooks.js 中没有任何帮助,并且注入 TouchEvent 似乎不起作用,因为它们被报告给活动文档而不是“主机 WebKit”。

任何想法如何使 iBooks 从当前显示的 EPUB3 可重排电子书加载的 JS 中翻页?

编辑:在这个问题之后,我在这里发布了上述 JS:https ://github.com/pettarin/rb_smil_emulator

4

1 回答 1

1

如果您正在讨论进入下一个 XHTML 文档,那么只需执行以下操作就足够了

location.href="nextpage.xhtml";

如果您正在谈论在同一个 XHTML 文档中移动,那么您能做的最好的事情就是使用 ID 元素以某种方式识别该页面内的位置,然后跳转到它:

location.href="#id";

我知道没有办法简单地执行/模拟翻页。

于 2013-06-06T06:13:44.767 回答