使用嵌入在显示的EPUB3电子书中的Javascript使iBooks翻页(在回流模式下)

时间:2013-06-04 16:10:59

标签: javascript ibooks smil epub3

我已经开发了一个库(我将很快在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

1 个答案:

答案 0 :(得分:1)

如果您正在讨论进展到下一个XHTML文档,那么它应该足以完成

location.href="nextpage.xhtml";

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

location.href="#id";

我无法简单地执行/模拟翻页。