epub 3, как предотвратить запуск страниц в фоновом режиме? (iBooks/Редиум)

Я создал и проверил 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), когда страница просматривается? (Я попытался добавить прослушиватель событий фокуса в окно, но это не сработало).


person Dustin Jackson    schedule 04.12.2012    source источник
comment
Функция готовности документа jQuery выполняет всевозможные действия, которые могут иметь или не иметь отношение к делу или работать должным образом в iBooks. Вы должны поиграть с нативным событием DOMContentLoaded и посмотреть, как это работает. В качестве альтернативы вы можете попробовать добавить тег script, запускающий все в нижней части BODY. Я не знал, что iBooks пытается предварительно загрузить будущие страницы, если это действительно так. В общем, использование jQuery в электронной книге — не лучшая идея. Он слишком большой и толстый, и вся работа по устранению несовместимости между браузерами не нужна.   -  person    schedule 09.04.2013


Ответы (2)


Готовый документ не работает в ePub. Немного потестировав, я заметил, что мой javascript не дождался готовности моего документа, чтобы начать свою работу. Я тестировал на iPad 1 (iOS 5.1.1) с версией iBooks 3.1. «Решение», которое у меня есть, состоит в том, чтобы оценить время загрузки вашего HTML-документа любым инструментом, который это делает, затем умножить его на 2 или 3 (потому что javascript на устройстве iOS явно такой же медленный) и использовать функцию settimeout() с полученным время.

person Ilycite    schedule 04.07.2013

Проблема в редиуме. вы должны вручную установить настройки, чтобы сделать его двухстраничным.

в Redium, перейдите в настройки, затем проверьте двойные страницы

person Ronie    schedule 16.01.2013