2012-12-04 52 views
2

我已经创建并验证了当前正在测试的ePub 3。我使用的是固定布局..epub 3,如何防止页面在后台运行? (iBooks/Readium)

<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)浏览页面时? (我曾尝试添加焦点事件监听器到窗口,但它没有工作)。

+0

jQuery文档准备功能可以处理各种各样的东西,这些东西在iBooks中可能相关,也可能不相关或无法正常工作。你应该使用本地DOMContentLoaded事件,看看它是如何工作的。或者,您可以尝试在BODY底部添加脚本标记。我不知道iBooks试图预先装入未来的页面,如果确实如此。一般来说,在电子书中使用jQuery不是一个好主意。它太大而且很胖,并且它在跨浏览器不兼容性方面的所有工作都是不必要的。 – 2013-04-09 09:42:22

回答

-1

问题出在Redium上。你应该手动设置设置为两页。

到Redium,去设置,然后检查双页

0

文件准备似乎没有ePub文件工作。经过测试,我注意到我的JavaScript没有等我的文档准备好开始工作。我在iPad 1(iOS 5.1.1)上测试了3.1版iBooks版本。我的“解决方案”是通过任何工具来估计HTML文档的加载时间,然后将其乘以2或3(因为iOS设备上的JavaScript显然速度很慢),并使用settimeout()函数获得时间。