我已经开发了一个库(我将很快在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
答案 0 :(得分:1)
如果您正在讨论进展到下一个XHTML文档,那么它应该足以完成
location.href="nextpage.xhtml";
如果您正在讨论在同一个XHTML文档中移动,那么您可以做的最好的方法是使用ID'd元素以某种方式识别该页面中的位置,然后跳转到它:
location.href="#id";
我无法简单地执行/模拟翻页。