From ef0e3317e2bac9f76a8dd3c6834aa0fb2e96e331 Mon Sep 17 00:00:00 2001 From: Cristi Constantin <1748317+croqaz@users.noreply.github.com> Date: Fri, 4 Feb 2022 06:50:27 +0000 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