网页 综合 更新时间 2026-11-15 12:40:00

http://www.cn-kr.cn/show/2121762369855037442.html

自动蜘蛛 www.cn-kr.cn 正文约 5260 字
`; // 解析这段HTML let parser = new DOMParser(); let doc = parser.parseFromString(lujing, 'text/html'); // 获取解析后的DOM中的元素 let div = doc.querySelector('a'); // 获取元素的属性 var a = div.getAttribute('href'); a='http://www.cn-kr.cn/'+a console.log(a); var flipbook = $("#flipbook"); var pageCurrent = 0; var bid = 1; var scale = 1; var rotate = 1; var canvasWidth = null; var canvasHeight = null; const getUrlParam = (name) => { // return './19.pdf'; }; const isMobile = () => { return /Mobi/.test(navigator.userAgent); }; const disableScroll = () => { let scrollTop = window.pageYOffset || document.documentElement.scrollTop; const preventDefault = (e) => { e.preventDefault(); }; document.body.addEventListener("touchmove", preventDefault, { passive: false, }); window.addEventListener("scroll", preventDefault); document.body.style.position = "fixed"; document.body.style.top = -scrollTop + "px"; }; const preloadPdf = async (url) => { const response = await fetch(url); const arrayBuffer = await response.arrayBuffer(); return pdfjsLib.getDocument(arrayBuffer); }; window.addEventListener("load", async () => { getpdf(a); disableScroll(); console.log(a); }); const sleep = (time) => { return new Promise((resolve) => { setTimeout(() => { resolve(time) }, time) }) } const getpdf = async (url) => { const loadingTask = pdfjsLib.getDocument(url,{rangeChunkSize:65536*16}); const pdf = await loadingTask.promise; const firstPage = await pdf.getPage(1); const viewport = firstPage.getViewport({ scale: scale }); const mobieWidth = viewport.width * 2; const pcWidth = viewport.width * 2; const pdfWidth = isMobile() ? mobieWidth : pcWidth; const canvasCache = {}; for (let i = 1; i <= pdf.numPages; i++) { const id = "canvaspage" + i; const div = document.createElement("div"); div.innerHTML = ""; flipbook.append(div); const page = await pdf.getPage(i); const canvas = await setcanvas(page, id); canvasCache[id] = canvas; } await new Promise((resolve) => { yepnope({ test: Modernizr.csstransforms, yep: ['http://www.cn-kr.cn//template/47/jq'+'/pdf-e-book-main/js/turn.js' ], complete: () => { $("#flipbook").turn({ width: pdfWidth, height: viewport.height, elevation: 50, display: isMobile() ? "single" : "double", autoCenter: true, duration: 1000, gradients: true, disable: true, turned: async function (event, page = 1) { console.log(event, page, "33333333333333"); const prevPage = page - 1; const nextPage = page + 1; if (prevPage > 0 && !canvasCache[prevPage]) { const id = "canvaspage" + prevPage; const div = document.createElement("div"); div.innerHTML = ""; flipbook.append(div); const page = await pdf.getPage(prevPage); const canvas = await setcanvas(page, id); canvasCache[prevPage] = canvas; } if (nextPage <= pdf.numPages && !canvasCache[nextPage]) { const id = "canvaspage" + nextPage; const div = document.createElement("div"); div.innerHTML = ""; flipbook.append(div); const page = await pdf.getPage(nextPage); const canvas = await setcanvas(page, id); canvasCache[nextPage] = canvas; } const unloadPage = isMobile() ? page + 2 : page + 4; const unloadPage2 = isMobile() ? page - 2 : page - 4; if (canvasCache[unloadPage]) { const canvas = canvasCache[unloadPage]; delete canvasCache[unloadPage]; canvas.parentNode.remove(); } if (canvasCache[unloadPage2]) { const canvas = canvasCache[unloadPage2]; delete canvasCache[unloadPage2]; canvas.parentNode.remove(); } }, }); resolve(); }, }); }); Object.values(canvasCache).forEach((canvas) => { const context = canvas.getContext("2d"); const imageData = context.getImageData( 0, 0, canvas.width, canvas.height ); }); // const response = await fetch(url); // const arrayBuffer = await response.arrayBuffer(); // const pdfData = new Uint8Array(arrayBuffer); // await pdfjsLib.getDocument(pdfData).promise; $("#overlay").hide(); }; const canvasCache = {}; const setcanvas = async (page, id) => { const canvas = document.getElementById(id); const canvasRect = canvas.getBoundingClientRect(); const isVisible = canvasRect.bottom > 0 && canvasRect.top < window.innerHeight && canvasRect.right > 0 && canvasRect.left < window.innerWidth; if (isVisible) { canvasCache[id] = canvas; } else { delete canvasCache[id]; } if (!canvas) { console.log("Canvas element with ID " + id + " not found."); return; } const context = canvas.getContext("2d"); if (!context) { console.log("Could not get 2D context for canvas element."); return; } const viewport = page.getViewport({ scale: scale }); const screenWidth = Math.min(window.innerWidth, window.innerHeight); const newScale = screenWidth / viewport.width; const newViewport = page.getViewport({ scale: newScale }); const outputScale = window.devicePixelRatio; canvas.width = Math.floor(newViewport.width * outputScale); canvas.height = Math.floor(newViewport.height * outputScale); canvas.style.width = "100%"; canvas.style.height = "100%"; const transform = outputScale !== 1 ? [outputScale, 0, 0, outputScale, 0, 0] : null; const renderContext = { canvasContext: context, transform: transform, viewport: newViewport, }; await page.render(renderContext).promise; return canvas; }; $(function () { $(".flip_button_left").bind("click", function () { $("#flipbook").turn("previous"); }); $(".flip_button_right").bind("click", function () { $("#flipbook").turn("next"); }); });
访问原文 返回搜索 http://www.cn-kr.cn/show/2121762369855037442.html
本页为82搜索生成的网页快照,内容来自站内索引;演示数据的原文链接仅作示例。