First, a question to Derrick Schultz. How did you submit a bug report to Apple?
Well, here's my own findings.
Platform: iPad iBooks. EPUB. Javascript.
Canvas. drawImage() function.
Does not work. Not even when the page is "refreshed" (or re-paginated? By rotating the iPad). This solution is a complete no-go.
A previous solution now seems to be the only partial workaround.
So, yes. Canvas and drawImage() does not work in iPad.
Hidden elements, rendered onscreen first
I created elements for all the images I wanted to display via interactivity (Javascript).
Critical step. I ensured that all images are rendered (visible) onscreen first. I had to do a setTimeout() for this.
Question: What is the iBooks event that lets me know all images are rendered onscreen? windows.onLoad
doesn't work. Even onLoad
for all the individual images doesn't work.
I then hid (display: none
) all images, and displayed them upon user input.
Works.
The only problem is that big pictures that don't all fit onscreen (because I have to display them all first) won't work. They are not rendered onscreen. You can verify this theory by turning on Scrolling View
on iBooks. When Scrolling View
is on, all images, no matter how big, can be rendered onscreen.
PS: Wow. Stackoverflow does not allow comments (to seek clarification) on answers (need 50 reputation points). But it allows me to post an answer?