/**
|
* 设置全局函数,用于 Child 注册
|
*/
|
export const registerChildFunction = () => {
|
/** @description 把 Child 的函数注册过来, 方便自己调用 */
|
(window as any).register = (cb: (...args: any[]) => void) => {
|
console.log('register children function');
|
(window as any).childCall = (...args: any[]) => {
|
cb(...args);
|
};
|
};
|
};
|
|
/**
|
* 往 windows 上加函数,给 child 调用
|
*/
|
export const setParentFunction = () => {
|
const child = window.frames[0];
|
if (!child) return;
|
const fun = (msg: string) => {
|
console.log('函数来自parent', msg);
|
};
|
(child as any).register?.(fun);
|
};
|
|
/**
|
* 子 iframe 调用
|
*/
|
export const childCall = (...args: any[]) => {
|
(window.frames[0] as any)?.childCall?.(...args);
|
};
|