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

标签 javascript ibooks smil epub3

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

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

1) 意识到事件片段已经超出了当前页面,并且 2) 强制翻页。

第一点可以(麻烦地)通过计算 SMIL 元素偏移量来实现;我坚持执行 2)。

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

有什么想法可以让 iBooks 从当前显示的 EPUB3 可重排电子书加载的 JS 中翻页吗?

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

最佳答案

如果您正在谈论进入下一个 XHTML 文档,那么简单地做就足够了

location.href="nextpage.xhtml";

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

location.href="#id";

据我所知,没有任何方法可以简单地执行/模拟翻页。

关于javascript - 使用嵌入在显示的 EPUB3 电子书中的 Javascript 使 iBooks 翻页(在回流模式下),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16922631/

相关文章:

html - SVG <animate> 适用于 Safari,不适用于 Chrome

javascript - 突出显示的文本弹出小部件...如何调用它以及在哪里可以找到 Javascript?

javascript - jquery中具有有限特殊字符的正则表达式

javascript - ExternalInterface.call 有效,但 javascript 无法访问 actionscript 回调?

javascript - 我可以将谷歌分析片段重定向到我的服务器吗?

iphone - 打开 iBooks 应用程序或其他应用程序中存储的 PDF

html - HTML5音频控件未在iBooks中完全显示

css - SVG 微笑 : animateTransform replace to set(opacity and scale attributes)