epubjs
Version:
Render ePub documents in the browser, across many devices
76 lines (54 loc) • 2.16 kB
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>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>