I am building a simple epub reader. I am using epub.js . I want the app to load the last page, what ever page the user was on before he closed the book/reader.
Here is my code:
const epubBook = "{{ bookpath }}";
var book = ePub(epubBook);
var rendition = book.renderTo("viewer", {manager: "continuous", flow: "scrolled", width: "100%", height: "100%", snap: true } );
var displayed = rendition.display();
book.ready.then(function() {
const stored = localStorage.getItem(book.key() + '-locations');
//console.log('metadata:', book.package.metadata);
bookTitleDiv.innerHTML = book.package.metadata['title']
if (stored) {
return book.locations.load(stored);
} else {
return book.locations.generate(1024).then( ()=>{
localStorage.setItem(key, book.locations.save());
}).catch( err => console.error("error generating locations: ", err)); // Generates CFI for every X characters (Characters per/page)
}
}).then(function(location) { // This promise will take a little while to return (About 20 seconds or so for Moby Dick)
localStorage.setItem(book.key() + '-locations', book.locations.save());
});