diff --git a/src/components/IFrame/src/IFrame.vue b/src/components/IFrame/src/IFrame.vue index d0bcb6c..48fb240 100644 --- a/src/components/IFrame/src/IFrame.vue +++ b/src/components/IFrame/src/IFrame.vue @@ -9,10 +9,9 @@ const props = defineProps({ }, }) const loading = ref(true) -const height = ref('') -const frameRef = ref(null) +const height = ref('') +const frameRef = ref(null) function init() { - console.warn(height.value) if (!props.height) height.value = `${document.documentElement.clientHeight - 94.5}px` else @@ -25,6 +24,24 @@ onMounted(() => { init() }, 300) }) + +function sendMessageToIframe(message) { + if (frameRef.value && frameRef.value.contentWindow) + frameRef.value.contentWindow.postMessage(message, '*') +} + +defineExpose({ + sendMessageToIframe, +}) + +onMounted(() => { + // 监听响应 + window.addEventListener('message', (event) => { + // 处理响应 + if (event.data) + console.log(event.data) + }) +})