layuimini怎么在iframe窗口获取主窗口的值
时间: 2024-09-19 21:08:58 浏览: 31
Layui Mini 是基于 Vue.js 的轻量级 UI 框架,如果你想在 iframe 窗口(嵌套在主窗口中)获取主窗口的值,通常需要利用 `postMessage` API 和事件监听机制。
首先,在主窗口(parent window),你可以创建一个变量并设置其值,然后通过 `postMessage` 发送到 iframe:
```javascript
// 主窗口 (parent)
let parentValue = 'Hello from parent';
window.parent.postMessage(parentValue, '*'); // '*' 表示所有 iframe 都可以接收消息
```
然后,在 iframe 窗口(child window),你需要监听 `message` 事件来接收从父窗口发送的数据:
```html
<!-- iframe (child) -->
<template>
<div id="iframe-app">
<script>
window.addEventListener('message', function(e) {
if (e.origin !== 'http://your-parent-domain.com') return; // 验证消息来源
const messageData = e.data;
console.log('Received data:', messageData); // 这里处理接收到的值
});
</script>
</div>
</template>
```
请注意,确保你在 iframe 中设置了正确的 `src` 属性,并在允许跨源通信的地方放行 `*` 或者具体的主页面域名。
阅读全文