(function() { console.log("正在扫描已加载的文档页面..."); // 寻找道客巴巴渲染页面的 canvas 元素 (通常在 class 包含 inner_page 的容器内) // 这里的选择器尽可能兼容其常见的 DOM 结构 let canvases = document.querySelectorAll('.inner_page canvas, .outer_page canvas, canvas'); // 过滤掉太小的非页面 canvas (比如UI图标) let pageCanvases = Array.from(canvases).filter(c => c.width > 200 && c.height > 300); if (pageCanvases.length === 0) { alert("未找到已渲染的页面!请确保文档已经展开,并且您已经从头到尾滚动过一遍文档以触发加载。"); return; } console.log(`找到 ${pageCanvases.length} 页,开始依次下载...`); // 为了防止浏览器拦截批量下载,设置一个极短的延时依次触发 pageCanvases.forEach((canvas, index) => { setTimeout(() => { try { let imgData = canvas.toDataURL('image/png'); let a = document.createElement('a'); a.href = imgData; a.download = `道客巴巴_Page_${index + 1}.png`; document.body.appendChild(a); a.click(); document.body.removeChild(a); console.log(`第 ${index + 1} 页下载成功`); } catch (err) { console.error(`第 ${index + 1} 页下载失败 (可能是图片跨域污染或未加载):`, err); } }, index * 500); // 每页间隔 0.5 秒下载 }); alert(`触发了 ${pageCanvases.length} 页的图片下载。\n\n注意:如果浏览器顶部提示“是否允许下载多个文件”,请点击【允许】!`); })();