I've been trying to find an eBook reader for Windows that fully supports EPUB3 (i.e. allows JavaScript) but I've had no such luck. So does anybody have at least one such application for each of:
- Windows 10
- Max OS X
- Android
- iOS
I don't believe any reader 'fully' supports EPUB3, in part because the EPUB3 and its satellite specs (e.g. annotation, distributable objects, widgets) are so broad that it's not viable for any one reader to implement it all.
On Windows, your best options may be Adobe Digital Editions and Calibre. More detail below.
The Readium project is an open attempt to provide a framework for reader developers with the widest possible support. The Readium Chrome app is a Readium EPUB3 reader, but now that Google has deprecated Chrome Apps it is no longer maintained.
There are readers that support a large proportion of Javascript, though not everything. And this support is poorly documented and hard to debug:
At the moment, Google Play Books documentation says it does not support any Javascript:
Google Play Books doesn't support non-standard audio or video tags, or interactive functionality such as that enabled by JavaScript code.
FYI, this Ebooks question from a few years ago is similar.
UPDATE Jiminy Panoz maintains the excellent Blitz framework, and he says the following ereaders support Javascript. I've not tested these myself.
- Kobo on iOS and Android
- Readium-based apps in general e.g. CloudShelf Reader, Bookari, Helicon, Lis-a, LEA reader, Infinity Reader.
- Lektz, Gitden on Android/iOS
- Reasily on Android
- Vitalsource Bookshelf on desktop
- Bookworm on Linux
For more information on various aspects of reader support, see his support data here.
As far as I know, the major ebook reading systems don't support scripting even though it's in the epub3 (and 3.2) spec. You might want to check the reading systems which are targeting academic textbooks. I think that interactive quizzes will be the best use case for javascript in ebooks. Future versions of the spec will try to merge the browser experience with the book experience, so I think it's inevitable that it will happen, though you need to do fallbacks, etc.
The e-ink reading systems are pretty minimal, so it would be hard to upgrade them to support scripting. Also, educational publishers are more likely to build their own apps than to create content with scripting and beg the major reading systems to support that feature.
One thing I'd check is whether the content creation tools specific to a reading system have some built in scripts (like ibooks-author). Ibooks have certain interactive widgets which might accomplish what you want. Of course, that means you are designing for a single platform only.
It's unlikley that companies who make an ereader app will support Javascript as it makes a potential security hole and the companies don't want the liability.