# 河图嵌第三方页面

前言:已存在一个 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()用法

  1. 单个变量传递
 window.parent.postMessage(
    {
      from: window.name,
      variable: 'title',         // 变量名
      value: 'iframe变量' + num  // 变量值
    },
    '*'
  );
  1. 多个变量传递
  window.parent.postMessage(
    {
      from: window.name,
      vars: {
        title: 'iframe变量',      // [变量名]: [变量值]
        num: num
      }
    },
    '*'
  );

:from 请与设计器中 iframe 组件名称属性保持一致

# 父向子页面传值

# 1. 新建大屏配置上图所示的 iframe 界面和两个通用标题。

iframe

# 2. 两个通用标题启用点击事件将字段 title 绑定到变量 cs。

iframe

# 3. iframe 界面配置数据响应绑定到变量 cs。

iframe

# 4. 预览,查看效果。

iframe

# 子向父页面传值

# 1. 新建大屏配置上图所示的 iframe 界面和页一个通用标题。

iframe

# 2. iframe 界面启用向父页面传递交互变量并绑定到字段 title。

iframe

# 3. 通用标题配置数据模板{var_title}。

iframe

# 4. 预览,查看效果。

iframe

Last Updated: 3/30/2023, 10:30:37 AM