diff --git a/packages/rrweb-snapshot/src/snapshot.ts b/packages/rrweb-snapshot/src/snapshot.ts index cc1eca0d3b..f14ce4b62e 100644 --- a/packages/rrweb-snapshot/src/snapshot.ts +++ b/packages/rrweb-snapshot/src/snapshot.ts @@ -26,6 +26,7 @@ import { toLowerCase, toUpperCase, validateStringifiedCssRule, + shouldMaskInput, } from './utils'; let _id = 1; @@ -701,19 +702,16 @@ function serializeTextNode( if (isScript) { textContent = 'SCRIPT_PLACEHOLDER'; } - if ( - !isStyle && - !isScript && - textContent && - needMaskingText( - n, - maskTextClass, - maskTextSelector, - unmaskTextClass, - unmaskTextSelector, - maskAllText, - ) - ) { + const forceMask = needMaskingText( + n, + maskTextClass, + maskTextSelector, + unmaskTextClass, + unmaskTextSelector, + maskAllText, + ); + + if (!isStyle && !isScript && textContent && forceMask) { textContent = maskTextFn ? maskTextFn(textContent) : textContent.replace(/[\S]/g, '*'); @@ -726,12 +724,23 @@ function serializeTextNode( // Handle