UNPKG

epubjs

Version:

Render ePub documents in the browser, across many devices

115 lines (97 loc) 3.3 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 { margin: 0px 20px; } #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> </head> <body> <button onclick="changeClass('small');">Small</button> <button onclick="changeClass('medium');">Medium</button> <button onclick="changeClass('large');">Large</button> <div id="main"> <div id="prev" onclick="reader.prevPage();" class="arrow"></div> <div id="area"></div> <div id="next" onclick="reader.nextPage();" class="arrow"></div> </div> <script> "use strict"; EPUBJS.Hooks.register('beforeChapterDisplay').touchHandlers = function (callback, renderer) { EPUBJS.core.addCss('http://localhost:8080/examples/reader.css', function() { // callback(); }, renderer.render.document.head); //Same file that is added in the ticket, update to the correct path callback(); }; var reader = ePub({ height : window.innerHeight - 40, width : window.innerWidth, styles : { padding : '0 20px' } // goto: "chapter_001.xhtml" }); reader.forceSingle(true); reader.open("https://s3.amazonaws.com/moby-dick/"); reader.renderTo("area"); var changeClass = function (type) { var body = reader.renderer.doc.body; var map = { 'small' : 'opus-font-size-small', 'medium': 'opus-font-size-medium', 'large' : 'opus-font-size-large' }; Object.keys(map).forEach(function (key) { body.classList.remove(map[key]); }); body.classList.add(map[type]); reader.renderer.reformat(); }; </script> </body> </html>