vue3例子
<template><div><iframe@load="loadIFreamSite"id="loadIframeSite":src="iframeSrc1"frameborder="0"scrolling="no"allowtransparency="true"style="width: 100%"></iframe><el-button @click="handleOther">调用其他服务器函数</el-button></div>
</template><script setup>
import { ref, onMounted } from 'vue';const iframeSrc1 = ref('http://192.168.1.13:5173/iframe.html');
const controlJson = {'131_amxm_YX_4_yx1': '1','131_amxm_YX_4_yx2': '1','131_amxm_YC_4_yc1': '98.3',
};function loadIFreamSite() {const iframe = document.querySelector('#loadIframeSite');if (iframe && iframe.contentWindow) {iframe.contentWindow.postMessage(controlJson, 'http://192.168.1.13:5173'); } else {console.error("Iframe not loaded or contentWindow not available.");}
}function handleOther() {console.log('window:', window);loadIFreamSite();
}
</script><style>
h1 {text-align: center;
}
button {display: block;margin: 20px auto;
}
</style>
html例子
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Iframe Content</title>
</head>
<body><h1>Iframe Content</h1><p id="receivedData">Waiting for data...</p><script>window.addEventListener('message', function(event) {if (event.origin !== '你的主应用域名') { console.warn('Message origin not trusted:', event.origin);return;}console.log('Received data from parent:', event.data);document.getElementById('receivedData').textContent = JSON.stringify(event.data); });</script>
</body>
</html>