From 059d492bea45d9deb0df77255d800ebb7ccb18aa Mon Sep 17 00:00:00 2001 From: bachmanity1 <81428651+bachmanity1@users.noreply.github.com> Date: Wed, 1 Apr 2026 12:00:00 +0800 Subject: [PATCH] add keepIframeSrcFn option (#592) * rename allowIframe to keepIframeSrcFn * update rrweb-snapshot to 1.1.5 --- package.json | 2 +- src/record/index.ts | 2 ++ src/types.ts | 3 +++ typings/types.d.ts | 2 ++ 4 files changed, 8 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 4c30560d..a463308a 100644 --- a/package.json +++ b/package.json @@ -66,6 +66,6 @@ "@xstate/fsm": "^1.4.0", "fflate": "^0.4.4", "mitt": "^1.1.3", - "rrweb-snapshot": "^1.1.4" + "rrweb-snapshot": "^1.1.5" } } diff --git a/src/record/index.ts b/src/record/index.ts index 69b350f2..c3529597 100644 --- a/src/record/index.ts +++ b/src/record/index.ts @@ -59,6 +59,7 @@ function record( recordCanvas = false, collectFonts = false, plugins, + keepIframeSrcFn = () => false, } = options; // runtime checks for user options if (!emit) { @@ -236,6 +237,7 @@ function record( onIframeLoad: (iframe, childSn) => { iframeManager.attachIframe(iframe, childSn); }, + keepIframeSrcFn, }); if (!node) { diff --git a/src/types.ts b/src/types.ts index 0acb0a16..df066864 100644 --- a/src/types.ts +++ b/src/types.ts @@ -220,6 +220,7 @@ export type recordOptions = { plugins?: RecordPlugin[]; // departed, please use sampling options mousemoveWait?: number; + keepIframeSrcFn?: KeepIframeSrcFn; }; export type observerParam = { @@ -552,3 +553,5 @@ export type ElementState = { // [scrollLeft,scrollTop] scroll?: [number, number]; }; + +export type KeepIframeSrcFn = (src: string) => boolean; diff --git a/typings/types.d.ts b/typings/types.d.ts index a80334e4..802ccbef 100644 --- a/typings/types.d.ts +++ b/typings/types.d.ts @@ -147,6 +147,7 @@ export declare type recordOptions = { collectFonts?: boolean; plugins?: RecordPlugin[]; mousemoveWait?: number; + keepIframeSrcFn?: KeepIframeSrcFn; }; export declare type observerParam = { mutationCb: mutationCallBack; @@ -417,4 +418,5 @@ export declare type MaskTextFn = (text: string) => string; export declare type ElementState = { scroll?: [number, number]; }; +export declare type KeepIframeSrcFn = (src: string) => boolean; export {};