UNPKG

epubjs

Version:

Render ePub documents in the browser, across many devices

112 lines (88 loc) 2.88 kB
<!DOCTYPE html> <html class="no-js"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <title>Basic ePubJS Example</title> <meta name="description" content=""> <meta name="viewport" content="width=device-width"> <meta name="apple-mobile-web-app-capable" content="yes"> <!-- EPUBJS Renderer --> <script src="../build/epub.js"></script> <style type="text/css"> body { overflow: hidden; } #main { position: absolute; width: 100%; height: 100%; } #area { width: 80%; height: 80%; margin: 5% auto; max-width: 1250px; } #area iframe { border: none; } #prev { left: 40px; } #next { right: 40px; } .arrow { position: absolute; top: 50%; margin-top: -32px; font-size: 64px; color: #E2E2E2; font-family: arial, sans-serif; font-weight: bold; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; user-select: none; } .arrow:hover { color: #777; } .arrow:active { color: #000; } </style> <script> "use strict"; var Book = ePub("https://s3.amazonaws.com/moby-dick/"); </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> <script> Book.renderTo("area"); Book.goto("chapter_003.xhtml"); Book.on("renderer:visibleRangeChanged", function(cfirange) { var text = ''; var cfi = new EPUBJS.EpubCFI(); var startRange = cfi.generateRangeFromCfi(cfirange.start, Book.renderer.render.document); var endRange = cfi.generateRangeFromCfi(cfirange.end, Book.renderer.render.document); // Create a new range to handle full cfi range (this should be fixed in v0.3) var fullRange = document.createRange(); if (startRange) { fullRange.setStart(startRange.startContainer, startRange.startOffset); } if (endRange) { fullRange.setEnd(endRange.startContainer, endRange.startOffset); } text = fullRange.toString(); console.log(text); }); </script> </body> </html>