UNPKG

epubjs

Version:

Render ePub documents in the browser, across many devices

76 lines (54 loc) 2.16 kB
<!DOCTYPE html> <html class="no-js"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <title>ePubJS Promises Example</title> <meta name="description" content=""> <meta name="viewport" content="width=device-width"> <meta name="apple-mobile-web-app-capable" content="yes"> <link rel="stylesheet" href="basic.css"> <!-- EPUBJS Renderer --> <script src="../build/epub.min.js"></script> <script src="../build/libs/zip.min.js"></script> <script> "use strict"; var Book = ePub("../reader/moby-dick/", { restore: false }); </script> </head> <body> <div id="main"> <div id="prev" onclick="Book.prevPage();" class="arrow"></div> <div id="area"></div> <div id="next" onclick="Book.nextPage();"class="arrow"></div> <div id="loader"><img src="../reader/img/loader.gif"></div> <select id="toc"></select> </div> <script> Book.getMetadata().then(function(meta){ document.title = meta.bookTitle+" – "+meta.creator; }); Book.getToc().then(function(toc){ var $select = document.getElementById("toc"), docfrag = document.createDocumentFragment(); toc.forEach(function(chapter) { var option = document.createElement("option"); option.textContent = chapter.label; option.ref = chapter.href; docfrag.appendChild(option); }); $select.appendChild(docfrag); $select.onchange = function(){ var index = $select.selectedIndex, url = $select.options[index].ref; Book.goto(url); return false; } }); Book.ready.all.then(function(){ document.getElementById("loader").style.display = "none"; }); Book.renderTo("area"); </script> </body> </html>