iPad Ibooks Javascript Canvas DrawImage не работает
У меня есть скрипт ниже, он работает в моем браузере Windows. но этот код не работает в электронной книге Epub (в моем iPad iBooks)
<canvas id="e" width="177" height="113"></canvas>
<script>
var canvas = document.getElementById("e");
var context = canvas.getContext("2d");
var myImg = new Image();
myImg.src = "../Images/box.jpg";
myImg.onload = function() {
context.drawImage(myImg, 0, 0);
};
</script>
2 ответа
Да, это правильно. Кажется, что iBooks поддерживает много canvas, но не функцию drawImage. Я отправил это в Apple месяц или два назад и до сих пор не получил ответ о том, является ли это ошибкой или ожидаемым поведением. Возможно, есть какая-то причина безопасности, которая не работает, но это может показаться странным, если учесть, что это работает в мобильном Safari.
Сначала вопрос к Деррику Шульцу. Как вы отправили отчет об ошибке в Apple?
Ну, вот мои собственные выводы.
Платформа: iPad iBooks. EPUB. Javascript.
Холст. Функция drawImage().
Не работает. Даже когда страница "обновляется" (или разбивается на страницы? Поворачивая iPad). Это решение совершенно не требуется.
Предыдущее решение теперь кажется единственным частичным решением проблемы.
Так да. Canvas и drawImage() не работают в iPad.
Скрытые элементы, отображаемые на экране первыми
Я создал элементы для всех изображений, которые я хотел показать через интерактивность (Javascript).
Критический шаг. Я гарантировал, что все изображения будут отображаться (видны) на экране в первую очередь. Я должен был сделать setTimeout() для этого.
Вопрос: Что такое событие iBooks, которое позволяет мне узнать, что все изображения отображаются на экране? windows.onLoad
не работает Четное onLoad
для всех отдельных изображений не работает.
Я тогда спрятался (display: none
) все изображения и отображать их при вводе пользователем.
Работает.
Единственная проблема в том, что большие картинки, которые не все помещаются на экране (потому что я должен сначала отобразить их все), не будут работать. Они не отображаются на экране. Вы можете проверить эту теорию, включив Scrolling View
на iBooks. когда Scrolling View
все изображения, независимо от их размера, могут отображаться на экране.
PS: вау. Stackru не позволяет комментировать (чтобы получить разъяснения) по ответам (нужно 50 очков репутации). Но это позволяет мне опубликовать ответ?