labvanced logoLabVanced
  • Research
    • Publications
    • Researcher Interviews
    • Use Cases
      • Developmental Psychology
      • Linguistics
      • Clinical & Digital Health
      • Educational Psychology
      • Cognitive & Neuro
      • Social & Personality
      • Arts Research
      • Sports & Movement
      • Marketing & Consumer Behavior
      • Economics
      • HCI / UX
      • Commercial / Industry Use
    • Labvanced Blog
    • Services
  • Technology
    • Feature Overview
    • Code-Free Study Building
    • Eye Tracking
    • Mouse Tracking
    • Generative AI Integration
    • Multi User Studies
    • More ...
      • Reaction Time/Precise Timing
      • Text Transcription
      • Heart Rate Detection (rPPG)
      • Emotion Detection
      • Questionnaires/Surveys
      • Experimental Control
      • Data Privacy & Security
      • Desktop App
      • Mobile App
  • Learn
    • Guide
    • Videos
    • Walkthroughs
    • FAQ
    • Release Notes
    • Documents
    • Classroom
  • Experiments
    • Cognitive Tests
    • Sample Studies
    • Public Experiment Library
  • Pricing
    • Licenses
    • Top-Up Recordings
    • Subject Recruitment
    • Study Building
    • Dedicated Support
    • Checkout
  • About
    • About Us
    • Contact
    • Downloads
    • Careers
    • Impressum
    • Disclaimer
    • Privacy & Security
    • Terms & Conditions
    • Third-Party Licenses
  • Appgo to app icon
  • Logingo to app icon
Learn
指南
视频
步骤说明
常见问题解答
通讯档案
文档
课堂
  • 中國人
  • Deutsch
  • Français
  • Español
  • English
  • 日本語
指南
视频
步骤说明
常见问题解答
通讯档案
文档
课堂
  • 中國人
  • Deutsch
  • Français
  • Español
  • English
  • 日本語
  • 指南
    • 开始使用

      • 任务编辑器
      • 框架
        • 画布框架
        • 页面框架
        • 网站框架
      • 试验时间线
      • 刺激呈现
      • 响应的正确性
      • 对象
      • 事件
      • 变量
      • 任务向导
      • 试验系统
      • 实验设计
        • 创建研究
        • 数据框模式
        • 多用户实验设计
    • 特色主题

      • 随机化与平衡
      • 眼动追踪
        • 在眼动追踪任务中呈现刺激
        • 如何选择眼动追踪校准设置
        • 在任务中设置眼动追踪
        • 记录和导出注视数据
        • 使用形状作为眼动追踪的兴趣区域 (AOI)
        • 参与者校准体验
      • 网络桥接
        • 选择网站 AOIs | 锚点、调整和验证 AOI 跟踪
        • 在网站 AOI 上跟踪鼠标行为 | Web Bridge 指南
      • 问卷调查
      • 桌面应用
      • 示例研究
      • 参与者招募
      • API访问
        • REST API
        • Webhook API
        • WebSocket API
      • 其他主题

        • 精确刺激时间
        • 多用户研究
        • Labvanced中的头部追踪 | 指南
    • 主应用标签

      • 概述:主标签
      • 仪表盘
      • 我的研究
      • 共享研究
      • 我的文件
      • 实验库
      • 我的账户
      • 许可证与服务
    • 研究标签

      • 概述:研究特定标签
      • 研究设计
        • 任务
        • 阻塞
        • 会议
        • 组
      • 任务编辑器
        • 任务控制
        • 试验系统
        • 框架类型
        • 对象
        • 对象属性表
        • 变量
        • 系统变量表
        • 事件系统
        • 文本编辑器功能
        • 任务编辑器中的眼动追踪选项
        • 任务中的头部追踪
        • 多用户研究
      • 设置
      • 变量
      • 媒体
      • 文本与翻译
      • 启动与参与
      • 受试者管理
      • 数据视图与导出
        • 数据视图和变量 & 任务选择(旧版本)
        • 访问录音(旧版本)
  • 视频
    • 视频概述
    • 在 Labvanced 中开始使用
    • 创建任务
    • 元素视频
    • 事件与变量
    • 高级主题
  • 教程
    • 介绍
    • 斯特鲁普任务
    • 词汇决策任务
    • 波斯纳凝视提示任务
    • 改变盲区闪烁范式
    • 眼动追踪示例研究
    • 婴儿眼动追踪研究
    • 带鼠标追踪的注意力捕获研究
    • 快速序列视觉呈现
    • ChatGPT 研究
    • 眼动追踪演示:SVG 作为 AOI
    • 多用户演示:显示参与者光标
    • 游戏手柄/操纵杆控制器 - 基本设置
    • 与 EEG 集成的桌面应用研究
    • 受试者组平衡和变量设置
    • 构建多用户研究
    • 网站框架眼动追踪教程
    • 条件性网络摄像头眼动追踪
  • 常见问题
    • 功能
    • 支持政策与指南
    • 安全与数据隐私
    • 许可证
    • Labvanced 的精确度
    • 程序化使用与 API
    • 离线使用 Labvanced
    • 故障排除
    • 研究创建问题
  • 新闻通讯档案
  • 文档
  • 课堂
发送 PostMessage 动作从 Labvanced 实验向外部目标发送消息

发送 PostMessage 动作

Send PostMessage 动作使用浏览器的 postMessage API 从您正在运行的 Labvanced 实验向外部目标发送消息,例如父网页、自定义应用程序或嵌入的框架。

目录

  • 概述
  • 双向设置
  • 工作原理
  • 动作选项
  • 进一步阅读和开放材料

概述

该动作在动作选择菜单中列在 API Actions 下。

在 Labvanced 事件编辑器中从 API 动作类别选择发送 PostMessage 动作。

在事件编辑器中找到 发送 PostMessage 位于 API 动作 下。

常见用例

  • 通知父应用程序(例如 LMS 或机构门户),当参与者达到某个点或完成某项任务时。
  • 实时将变量值(例如分数、响应或条件标签)传递到外部系统。

双向设置

在 Labvanced 和外部页面(例如 iFrame 或父应用程序)之间使用 postMessage 是一个 双向过程。Labvanced 处理一方:该动作发送消息。另一方面是外部页面,必须编程以接收消息。

postMessage API 是浏览器的标准功能。外部页面需要一个 window.addEventListener('message', handler) 监听器来接收来自 Labvanced 的消息。该监听器还应该根据域进行过滤,检查消息来源是否是 Labvanced,以便只处理来自可信来源的消息。您或您的开发人员需要编写该代码。如果需要,AI 编码工具可以帮助快速生成代码。

工作原理

当此动作触发时,Labvanced 向目标窗口发送一个 postMessage。消息会传送给任何在 Destination Domain 上使用 window.addEventListener('message', handler) 进行监听的页面。

消息有效载荷包含 Value to send。如果设置了 Key,那么它会包含在有效载荷中,以便接收方可以识别消息类型并进行相应处理。

外部页面负责处理消息。其监听器在执行操作之前应检查消息来源,以确保仅响应来自 Labvanced 发送的消息。

选择 Send PostMessage 后,将出现以下配置:

Labvanced 中发送 PostMessage 动作配置对话框,显示目标域、键和发送字段的值。

发送 PostMessage 动作的配置字段。

动作选项

菜单项发送 PostMessage 动作选项
Destination Domain指定应该接收消息的目标来源。默认值为 *,即发送到任何来源。当知道目标时,使用完整的目标 URL(例如 https://yoursite.com)替换 *。建议为安全起见指定确切域。
Key将标识符键附加到输出消息。这将消息有效载荷结构化为 Key: value,接收方可以用来区分不同类型的消息。如果不需要键,则留空。
Value to send定义要包含在输出消息中的数据。单击编辑图标打开 Value-Select Menu,并指定要发送的内容:常量值、Labvanced 变量或表达式。

注意: 接收消息的系统(父页面或外部应用)必须实现 window.addEventListener('message', ...) 监听器,以处理来自 Labvanced 的传入 postMessage。


进一步阅读和开放材料

  • PostMessage Received Trigger: 监听来自外部来源的传入 postMessage 的配对触发器。
  • Value-Select Menu: 如何使用变量、常量或表达式定义要发送的值。
  • Labvanced Web Bridge Extension: 关于 postMessage 如何用于与嵌入的外部网站进行通信的背景知识。
  • Events Overview: Labvanced 中触发器和动作逻辑系统的全面介绍。