我已经开发了一个库(我将很快在BSD/MIT许可下发布)来模拟Apple iBooks中可回流EPUB3电子书的媒体覆盖支持(又名"大声朗读"或"SMIL")。(我提醒你,iBooks只在FXL布局模式下支持MO,不像Readium或Azardi。)
我想让iBooks在当前活动SMIL片段离开当前页面并进入下一个页面时"翻"页。为此,我需要:
1)意识到活动片段已经超出当前页面,并且2)强迫翻页
第一点可以通过计算SMIL元素偏移量来实现(很繁琐);我被困在表演2)。
在Apple的ibooks.js中没有任何帮助,并且注入TouchEvent似乎不起作用,因为它们报告给活动文档而不是"主机WebKit"。
任何想法如何使iBooks从JS内的页面由当前显示的EPUB3可回流电子书加载?
编辑:根据这个问题,我在这里发布了前面提到的JS: https://github.com/pettarin/rb_smil_emulator
如果您正在讨论继续到下一个XHTML文档,那么只需执行
就足够了location.href="nextpage.xhtml";
如果您讨论的是在同一个XHTML文档中移动,那么您能做的最好的事情就是使用ID元素以某种方式识别该页面中的位置,并跳转到它:
location.href="#id";
我知道没有办法简单地执行/模拟翻页。