【问题标题】:epub 3, how to prevent pages from running in background ? (iBooks / Readium)epub 3,如何防止页面在后台运行? (iBooks / Readium)
【发布时间】:2012-12-04 15:52:59
【问题描述】:

我已经创建并验证了我目前正在测试的 ePub 3。我使用的是固定布局..

<meta property="rendition:layout">pre-paginated</meta>
<meta property="rendition:orientation">portrait</meta>
<meta property="rendition:spread">none< /meta> 

它工作得很好,但是在不同的阅读器中测试时,多个页面似乎同时加载和运行。我正在使用 jQuery 的文档准备启动并播放音频、运行动画等。

在 iBooks 中进行测试时,我将书打开到第 1 页,该页加载并开始运行,但随后我开始听到第 2 页的音频.. 所以文档准备功能已针对第 2 页触发(因为它已被加载)甚至虽然我还没有查看它。在 Readium 中,它似乎加载并运行每一页......

三个问题:

  1. 有人知道为什么吗?

  2. 有没有办法阻止电子阅读器运行或加载您当前未查看的页面?

  3. 有没有办法检测(使用 javascript)何时查看页面? (我尝试将焦点事件监听器添加到窗口,但没有成功)。

【问题讨论】:

  • jQuery 文档就绪功能可以处理各种可能相关或不相关或在 iBooks 中正常工作的内容。你应该玩原生的DOMContentLoaded 事件,看看它是如何工作的。或者,您可以尝试在 BODY 的底部添加一个脚本标签来启动。我不知道 iBooks 会尝试预加载未来的页面,如果确实如此的话。一般来说,在电子书中使用 jQuery 并不是一个好主意。它又大又胖,它为解决跨浏览器不兼容所做的所有工作都是不必要的。

标签: epub pageload ibooks


【解决方案1】:

文档就绪似乎在 ePub 中不起作用。经过一番测试,我注意到我的 javascript 并没有等待我的文档准备好开始工作。我在带有 3.1 iBooks 版本的 iPad 1 (iOS 5.1.1) 上进行了测试。我拥有的“解决方案”是通过执行此操作的任何工具估计 HTML 文档的加载时间,然后将其乘以 2 或 3(因为 iOS 设备上的 javascript 显然很慢)并使用 settimeout() 函数获得时间。

【讨论】:

    【解决方案2】:

    问题出在 Redium 中。您应该手动设置设置,使其成为两页。

    进入 Redium,进入设置然后检查双页

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-08-27
      • 1970-01-01
      • 1970-01-01
      • 2020-02-25
      • 1970-01-01
      • 2017-02-27
      • 2014-06-09
      相关资源
      最近更新 更多