From e43e2e619292a3c1a6678fc6f592f1c7478bd451 Mon Sep 17 00:00:00 2001 From: hzsrc Date: Tue, 21 Jan 2025 15:08:45 +0800 Subject: [PATCH] =?UTF-8?q?Image=E5=B0=9A=E6=9C=AA=E5=8A=A0=E8=BD=BD?= =?UTF-8?q?=E5=AF=BC=E8=87=B4=E4=B8=8D=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 +- src/index.ts | 2 +- src/util.ts | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index db356873..427a13e2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "html-to-image-big", - "version": "1.11.13", + "version": "1.11.15", "description": "Generates an image from a DOM node using HTML5 canvas and SVG. Support big html page.", "main": "lib/index.js", "module": "es/index.js", diff --git a/src/index.ts b/src/index.ts index dfca4e51..000ef6bf 100644 --- a/src/index.ts +++ b/src/index.ts @@ -32,7 +32,7 @@ async function prepareNode(node: HTMLElement, options: Options = {}) { if (!('usePageCss' in options)) options.usePageCss = true const clonedNode = (await cloneNode(node, options, true)) as HTMLElement // svg中的图片地址无法离线下载,需要先转成dataUrl - setImgDataUrl(clonedNode) + await setImgDataUrl(clonedNode) return clonedNode } diff --git a/src/util.ts b/src/util.ts index aa3965d6..7f11db6f 100644 --- a/src/util.ts +++ b/src/util.ts @@ -323,6 +323,7 @@ export function setImgDataUrl(el: Element) { const imgs = el.querySelectorAll('img') return Promise.all( [].slice.call(imgs, 0).map((img: HTMLImageElement) => { + if (/^data:/.test(img.src)) return Promise.resolve() return urlToDataUrl(img.src).then((dataUrl) => (img.src = dataUrl)) }), )