wujingjing
2025-03-25 cbed829829bffc5a7fe8c66057e1ce433b88829c
优化
已修改1个文件
28 ■■■■ 文件已修改
src/utils/iframeCall.ts 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/iframeCall.ts
@@ -6,26 +6,38 @@
    (window as any).register = (cb: (...args: any[]) => void) => {
        console.log('register children function');
        (window as any).childCall = (...args: any[]) => {
            cb(...args);
            cb?.(...args);
        };
    };
};
const fun = (msg: string) => {
    console.log('函数来自parent', msg);
};
/**
 * 往 windows 上加函数,给 child 调用
 */
export const setParentFunction = () => {
    const child = window.frames[0];
    let child: any;
    for (let index = 0; index < window.frames.length; index++) {
        const frame = window.frames[index];
        if ((frame as any).register) {
            child = frame;
            break;
        }
    }
    if (!child) return;
    const fun = (msg: string) => {
        console.log('函数来自parent', msg);
    };
    (child as any).register?.(fun);
    child.register?.(fun);
};
/**
 * 子 iframe 调用
 */
export const childCall = (...args: any[]) => {
    (window.frames[0] as any)?.childCall?.(...args);
    (window as any)?.childCall?.(...args);
};
for (let index = 0; index < window.frames.length; index++) {
    const element = window.frames[index];
    console.log('🚀 ~ element:', element);
}