# iframe 父子页面传值
实现了 iframe 子父界面传值的功能。
前言:已存在一个 iframe 界面。
上图中的示例中 iframe 代码如下:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>iframe页面</title>
</head>
<body>
<h1>iframe页面</h1>
<h1 id="text"></h1>
<button onclick="btnClick()">按钮</button>
</body>
<script>
window.addEventListener('message', function(event) {
var result = event.data;
document.getElementById('text').innerHTML = result.value;
});
var num = 0;
function btnClick() {
window.parent.postMessage(
{
from: window.name,
variable: 'title',
value: 'iframe事件' + num++
},
'*'
);
}
</script>
</html>
window.parent.postMessage()用法
- 单个变量传递
window.parent.postMessage(
{
from: window.name,
variable: 'title', // 变量名
value: 'iframe变量' + num // 变量值
},
'*'
);
- 多个变量传递
window.parent.postMessage(
{
from: window.name,
vars: {
title: 'iframe变量', // [变量名]: [变量值]
num: num
}
},
'*'
);
注:from 请与设计器中 iframe 组件名称属性保持一致
# iframe 父向子页面传值
# 1. 新建大屏配置上图所示的 iframe 界面和两个通用标题。
# 2. 两个通用标题启用点击事件将字段 title 绑定到变量 cs。
# 3. iframe 界面配置数据响应绑定到变量 cs。
# 4. 预览,查看效果。
# iframe 子向父页面传值
# 1. 新建大屏配置上图所示的 iframe 界面和页一个通用标题。
# 2. iframe 界面启用向父页面传递交互变量并绑定到字段 title。
# 3. 通用标题配置数据模板{var_title}。
# 4. 预览,查看效果。
← 地图数据配置 数据交互实现图表联动 →