diff --git a/packages/rrweb/src/record/index.ts b/packages/rrweb/src/record/index.ts index 65da8ec801..3afb2b18fd 100644 --- a/packages/rrweb/src/record/index.ts +++ b/packages/rrweb/src/record/index.ts @@ -89,6 +89,7 @@ function record( recordDOM = true, recordCanvas = false, recordCrossOriginIframes = false, + emitFromIframe = false, recordAfter = options.recordAfter === 'DOMContentLoaded' ? options.recordAfter : 'load', @@ -103,7 +104,9 @@ function record( registerErrorHandler(errorHandler); - const inEmittingFrame = recordCrossOriginIframes + const inEmittingFrame = emitFromIframe + ? true + : recordCrossOriginIframes ? window.parent === window : true; diff --git a/packages/rrweb/src/types.ts b/packages/rrweb/src/types.ts index a03e326b6f..3ae432a127 100644 --- a/packages/rrweb/src/types.ts +++ b/packages/rrweb/src/types.ts @@ -65,6 +65,7 @@ export type recordOptions = { recordDOM?: boolean; recordCanvas?: boolean; recordCrossOriginIframes?: boolean; + emitFromIframe?: boolean; recordAfter?: 'DOMContentLoaded' | 'load'; userTriggeredOnInput?: boolean; collectFonts?: boolean;