Есть ли способ очистить кеш страницы? (автозапуск window.init и аудио не работает)

Если у меня есть интерактивный виджет, который имеет что-то вроде

window.init = function() {alert('foo');};

или же

<audio src="foo.mp3" autoplay="" loop=""></audio>

затем, когда я закрываю интерактивный виджет и снова включаю его, init() не запускается снова, и звук не воспроизводится автоматически.

В случае звука звуки перестают воспроизводиться при закрытии интерактивного виджета. При повторном открытии интерактивного виджета звук не начинает воспроизводиться автоматически.

Однако если я пролистываю несколько страниц влево или вправо (пока не увижу индикатор "загрузка..."), то кэш интерактивного виджета будет очищен. Затем я могу вернуться на страницу с интерактивным виджетом, и запустится init(), и снова будет воспроизводиться звук.

(Обратите внимание, что для <audio> чтобы звук воспроизводился автоматически и autoplay а также loop свойства просто должны существовать. Значение этих свойств не имеет значения, поэтому я могу просто цитировать цитату)

Это известная проблема с ibooks?

Есть ли способ заставить этот кэш очиститься?

1 ответ

Вы можете попробовать установить функцию на widget.didEnterWidgetMode (больше документации здесь), который сбрасывает прогресс, когда виджет открывается снова.

редактировать: поэтому, если вы посмотрите на эту ветку Apple по созданию виджетов для iBooks Author, они упомянут о добавлении фрагмента Javascript для AppleClasses/AppleWidget.js, Код для этого файла находится здесь (по крайней мере, по словам кого-то в Интернете:)), и в этом файле есть то же самое widget.didEnterWidgetMode функция.

Другие вопросы по тегам