From ac6d9e2f19c111afe4a6989359e831b1f408121e Mon Sep 17 00:00:00 2001 From: Cristi Constantin <1748317+croqaz@users.noreply.github.com> Date: Wed, 1 Apr 2026 12:00:00 +0800 Subject: [PATCH] Fix inline image issues (#822) * Fix inline image issues * Fixed img srcset Reverted image crossOrigin change * Tweak rebuilding img srcset --- packages/rrweb-snapshot/src/rebuild.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/rrweb-snapshot/src/rebuild.ts b/packages/rrweb-snapshot/src/rebuild.ts index f736ffc2..847cdd06 100644 --- a/packages/rrweb-snapshot/src/rebuild.ts +++ b/packages/rrweb-snapshot/src/rebuild.ts @@ -209,6 +209,13 @@ function buildNode( n.attributes.href.endsWith('.js') ) { // ignore + } else if ( + tagName === 'img' && + n.attributes.srcset && + n.attributes.rr_dataURL + ) { + // backup original img srcset + node.setAttribute('rrweb-original-srcset', n.attributes.srcset as string); } else { node.setAttribute(name, value); } @@ -232,11 +239,10 @@ function buildNode( // Backup original img src. It may not have been set yet. image.setAttribute( 'rrweb-original-src', - n.attributes['src'] as string, + n.attributes.src as string, ); image.src = value; } - image.removeAttribute(name); } if (name === 'rr_width') { @@ -261,6 +267,7 @@ function buildNode( } } } + if (n.isShadowHost) { /** * Since node is newly rebuilt, it should be a normal element