UNPKG

epubjs

Version:
105 lines (78 loc) 2.55 kB
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>EPUB.js Spreads Example</title> <script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.1/jszip.min.js"></script> <script src="../dist/epub.js"></script> <link rel="stylesheet" type="text/css" href="examples.css"> </head> <body> <div id="title"></div> <div id="viewer" class="spreads"></div> <a id="prev" href="#prev" class="arrow"></a> <a id="next" href="#next" class="arrow"></a> <script> var params = URLSearchParams && new URLSearchParams(document.location.search.substring(1)); var url = params && params.get("url") && decodeURIComponent(params.get("url")); var currentSectionIndex = (params && params.get("loc")) ? params.get("loc") : 6; // Load the opf var book = ePub(url || "https://s3.amazonaws.com/moby-dick/moby-dick.epub"); var rendition = book.renderTo("viewer", { width: "100%", height: 600, spread: "always" }); rendition.display(currentSectionIndex); var title = document.getElementById("title"); var next = document.getElementById("next"); next.addEventListener("click", function(e){ rendition.next(); e.preventDefault(); }, false); var prev = document.getElementById("prev"); prev.addEventListener("click", function(e){ rendition.prev(); e.preventDefault(); }, false); var keyListener = function(e){ // Left Key if ((e.keyCode || e.which) == 37) { rendition.prev(); } // Right Key if ((e.keyCode || e.which) == 39) { rendition.next(); } }; rendition.on("keyup", keyListener); document.addEventListener("keyup", keyListener, false); rendition.on("rendered", function(section){ var nextSection = section.next(); var prevSection = section.prev(); var current = book.navigation && book.navigation.get(section.href); if (current) { title.textContent = current.label; } if(nextSection) { next.textContent = "›"; } else { next.textContent = ""; } if(prevSection) { prev.textContent = "‹"; } else { prev.textContent = ""; } }); rendition.on("relocated", function(location){ console.log(location); }); window.addEventListener("unload", function () { console.log("unloading"); this.book.destroy(); }); </script> </body> </html>