(function () {
// ✅ TU PDF (ESTÁ BIEN ASÍ)
const PDF_URL = "https://destinomelgar.com/wp-content/uploads/2026/02/REVISTA-DIGITAL-DESTINO-MELGAR-2022.pdf";
const container = document.getElementById("flipbook");
const RENDER_SCALE = 1.35;
function loadScript(src) {
return new Promise((resolve, reject) => {
const s = document.createElement("script");
s.src = src;
s.async = true;
s.onload = resolve;
s.onerror = () => reject(new Error("No cargó: " + src));
document.head.appendChild(s);
});
}
async function loadAny(sources) {
let lastErr;
for (const src of sources) {
try {
await loadScript(src);
return src; // ✅ cargó
} catch (e) {
lastErr = e;
}
}
throw lastErr;
}
async function init() {
// ✅ PDF.js (estable)
await loadAny([
"https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.16.105/pdf.min.js",
"https://cdn.jsdelivr.net/npm/pdfjs-dist@2.16.105/build/pdf.min.js"
]);
window.pdfjsLib.GlobalWorkerOptions.workerSrc =
"https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.16.105/pdf.worker.min.js";
// ✅ PageFlip (prueba varios CDNs por si uno está bloqueado)
await loadAny([
"https://cdn.jsdelivr.net/npm/page-flip@2.0.7/dist/js/page-flip.browser.min.js",
"https://cdnjs.cloudflare.com/ajax/libs/page-flip/2.0.7/page-flip.browser.min.js",
"https://unpkg.com/page-flip@2.0.7/dist/js/page-flip.browser.min.js"
]);
const pdf = await window.pdfjsLib.getDocument(PDF_URL).promise;
const pagesWrap = document.createElement("div");
pagesWrap.id = "pages";
container.innerHTML = "";
container.appendChild(pagesWrap);
for (let pageNum = 1; pageNum pageFlip.flipPrev();
document.getElementById("nextPage").onclick = () => pageFlip.flipNext();
window.addEventListener("resize", () => pageFlip.update());
}
init().catch(err => {
console.error("Flipbook error:", err);
container.innerHTML = `
No se pudo cargar el flipbook.
Error: ${err.message}
PDF: ${PDF_URL}
Si el error sigue, tu seguridad está bloqueando CDNs externos.
`;
});
})();