mirror of
https://github.com/futurepress/epub.js.git
synced 2025-10-04 15:09:16 +02:00
117 lines
3.6 KiB
HTML
117 lines
3.6 KiB
HTML
<!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">
|
||
|
||
<script src="../libs/underscore/underscore-min.js"></script>
|
||
<script src="../libs/backbone/backbone-min.js"></script>
|
||
|
||
<!-- EPUBJS Renderer -->
|
||
<script src="/build/epub.min.js"></script>
|
||
|
||
<script>
|
||
"use strict";
|
||
|
||
var Book = ePub("/reader/moby-dick/", { restore: true });
|
||
|
||
|
||
</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");
|
||
|
||
var BB = {};
|
||
|
||
// Router
|
||
BB.Router = Backbone.Router.extend({
|
||
routes: {
|
||
"book/:p" : "details"
|
||
},
|
||
|
||
details: function(hash){
|
||
var view = new Book.Views.Details({model: Library.get(hash)});
|
||
view.render(function(el){
|
||
$("#main").html(el);
|
||
});
|
||
}
|
||
});
|
||
|
||
// Instantiate Router
|
||
var router = new Book.Router();
|
||
|
||
// This will fetch the book template and render it.
|
||
BB.Views.Details = Backbone.View.extend({
|
||
template: "app/templates/books/details.html",
|
||
|
||
render: function(done) {
|
||
var view = this;
|
||
|
||
// Fetch the template, render it to the View element and call done.
|
||
namespace.fetchTemplate(this.template, function(tmpl) {
|
||
view.el.innerHTML = tmpl(view.model.toJSON());
|
||
|
||
if (_.isFunction(done)) {
|
||
done(view.el);
|
||
}
|
||
});
|
||
}
|
||
});
|
||
|
||
|
||
|
||
|
||
</script>
|
||
</body>
|
||
</html>
|