iframe 使用 postMessage 传递信息,addEventListener监听返回信息,并使用removeEventListener取消监听事件
BUTTON 发送消息
selectButton.addEventListener('click', () => {
iframe.contentWindow.postMessage({
event_id: "select_media",
return_type: 'media'
}, '*');
});
const callBack = (e: any) => {
if (e.data.selected_medias && e.data.selected_medias.length > 0) {
取消监听
(window as any).removeEventListener('message', callBack, false);
}
}
监听
const openIframe = () => {
(window as any).addEventListener('message', callBack, false);
...
}
浙公网安备 33010602011771号