【发布时间】: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 中,它似乎加载并运行每一页......
三个问题:
有人知道为什么吗?
有没有办法阻止电子阅读器运行或加载您当前未查看的页面?
有没有办法检测(使用 javascript)何时查看页面? (我尝试将焦点事件监听器添加到窗口,但没有成功)。
【问题讨论】:
-
jQuery 文档就绪功能可以处理各种可能相关或不相关或在 iBooks 中正常工作的内容。你应该玩原生的
DOMContentLoaded事件,看看它是如何工作的。或者,您可以尝试在 BODY 的底部添加一个脚本标签来启动。我不知道 iBooks 会尝试预加载未来的页面,如果确实如此的话。一般来说,在电子书中使用 jQuery 并不是一个好主意。它又大又胖,它为解决跨浏览器不兼容所做的所有工作都是不必要的。