Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

210
Visualizações
Cómo cargar la última página visitada en epub.js

Estoy construyendo un lector de epub simple. Estoy usando epub.js. Quiero que la aplicación cargue la última página, sea cual sea la página en la que se encontraba el usuario antes de cerrar el libro/lector.

Aquí está mi código:

 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()); });
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Si solo guarda el número de página, su código se romperá una vez que un usuario cambie el tamaño de fuente del libro o cambie el tamaño del lector. En ese caso, su número total de páginas puede aumentar/disminuir y solo confiar en el número de página podría llevarlo a la página incorrecta o podría terminar saliendo de los límites (su número de página> cantidad de páginas del libro).

Una forma segura de guardar la página sería guardar la cadena de posición CFI de esa página (en lugar del número de página). Estas cadenas se ven así: epubcfi(/6/4[chap01ref]!/4[body01]/10[para05]/2/1:3) .

Cómo obtener la cadena de posición de CFI de la página actual:


    let ubicación = this.rendition.currentLocation();
    let cfiString = ubicación.start.cfi; // esto es lo que quieres guardar

Navegar a una ubicación determinada:


    this.rendition.display(cfiString);

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda