diff --git a/packages/rrweb-snapshot/src/rebuild.ts b/packages/rrweb-snapshot/src/rebuild.ts index d4ec23f55b..263ad99181 100644 --- a/packages/rrweb-snapshot/src/rebuild.ts +++ b/packages/rrweb-snapshot/src/rebuild.ts @@ -198,7 +198,7 @@ function buildNode( continue; } else if ( tagName === 'link' && - n.attributes.rel === 'preload' && + (n.attributes.rel === 'preload' || n.attributes.rel === 'modulepreload') && n.attributes.as === 'script' ) { // ignore diff --git a/packages/rrweb-snapshot/src/snapshot.ts b/packages/rrweb-snapshot/src/snapshot.ts index 97b48994a9..a657f22ab7 100644 --- a/packages/rrweb-snapshot/src/snapshot.ts +++ b/packages/rrweb-snapshot/src/snapshot.ts @@ -789,9 +789,9 @@ function slimDOMExcluded( slimDOMOptions.script && // script tag (sn.tagName === 'script' || - // preload link + // (module)preload link (sn.tagName === 'link' && - sn.attributes.rel === 'preload' && + (sn.attributes.rel === 'preload' || sn.attributes.rel === 'modulepreload') && sn.attributes.as === 'script') || // prefetch link (sn.tagName === 'link' && diff --git a/packages/rrweb-snapshot/test/__snapshots__/integration.test.ts.snap b/packages/rrweb-snapshot/test/__snapshots__/integration.test.ts.snap index d15bc089af..dbcc8c4cae 100644 --- a/packages/rrweb-snapshot/test/__snapshots__/integration.test.ts.snap +++ b/packages/rrweb-snapshot/test/__snapshots__/integration.test.ts.snap @@ -337,6 +337,7 @@ exports[`integration tests [html file]: preload.html 1`] = `