Spaces:
Running
Running
Update index.html
Browse files- index.html +9 -3
index.html
CHANGED
|
@@ -628,7 +628,7 @@
|
|
| 628 |
if (e.key === 'ArrowLeft') changeSlide(-1);
|
| 629 |
});
|
| 630 |
|
| 631 |
-
// ===================== GENERADOR DE PDF -
|
| 632 |
async function generatePDF() {
|
| 633 |
const loadingOverlay = document.getElementById('pdf-loading');
|
| 634 |
const progressText = document.getElementById('progress-text');
|
|
@@ -652,9 +652,15 @@
|
|
| 652 |
for (let i = 0; i < slides.length; i++) {
|
| 653 |
const slide = slides[i];
|
| 654 |
|
| 655 |
-
// Actualizar mensaje de progreso
|
| 656 |
progressText.textContent = `Procesando diapositiva ${i + 1} de ${slides.length}...`;
|
| 657 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 658 |
// 1. Activar modo captura: mostrar SOLO esta slide con estilos forzados
|
| 659 |
slides.forEach((s, idx) => {
|
| 660 |
s.classList.toggle('capture-mode', idx === i);
|
|
@@ -758,7 +764,7 @@
|
|
| 758 |
s.style.display = idx === originalSlide ? 'flex' : 'none';
|
| 759 |
});
|
| 760 |
|
| 761 |
-
progressText.textContent = 'Finalizando...';
|
| 762 |
await new Promise(resolve => setTimeout(resolve, 500));
|
| 763 |
|
| 764 |
// 10. Guardar PDF
|
|
|
|
| 628 |
if (e.key === 'ArrowLeft') changeSlide(-1);
|
| 629 |
});
|
| 630 |
|
| 631 |
+
// ===================== GENERADOR DE PDF - CON PROGRESO VISUAL =====================
|
| 632 |
async function generatePDF() {
|
| 633 |
const loadingOverlay = document.getElementById('pdf-loading');
|
| 634 |
const progressText = document.getElementById('progress-text');
|
|
|
|
| 652 |
for (let i = 0; i < slides.length; i++) {
|
| 653 |
const slide = slides[i];
|
| 654 |
|
| 655 |
+
// Actualizar mensaje de progreso Y FORZAR RENDERIZADO
|
| 656 |
progressText.textContent = `Procesando diapositiva ${i + 1} de ${slides.length}...`;
|
| 657 |
|
| 658 |
+
// Forzar reflow para que el navegador actualice el DOM
|
| 659 |
+
void progressText.offsetWidth;
|
| 660 |
+
|
| 661 |
+
// Pequeña pausa para permitir que el navegador renderice el cambio
|
| 662 |
+
await new Promise(resolve => setTimeout(resolve, 100));
|
| 663 |
+
|
| 664 |
// 1. Activar modo captura: mostrar SOLO esta slide con estilos forzados
|
| 665 |
slides.forEach((s, idx) => {
|
| 666 |
s.classList.toggle('capture-mode', idx === i);
|
|
|
|
| 764 |
s.style.display = idx === originalSlide ? 'flex' : 'none';
|
| 765 |
});
|
| 766 |
|
| 767 |
+
progressText.textContent = 'Finalizando y descargando...';
|
| 768 |
await new Promise(resolve => setTimeout(resolve, 500));
|
| 769 |
|
| 770 |
// 10. Guardar PDF
|