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
  • 日本語
  • 指南
    • 入门

      • 任务编辑器
      • 刺激呈现
      • 响应的正确性
      • 对象
      • 事件
      • 变量
      • 任务向导
      • 实验系统
      • 研究设计
        • 任务
        • 阻塞
        • 会议
        • 组
    • 特色主题

      • 随机化与平衡
      • 眼动追踪
      • 问卷
      • 桌面应用
      • 示例研究
      • 参与者招募
      • API 访问
        • REST API
        • Webhook API
        • WebSocket API
      • 其他主题

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

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

      • 概述:研究特定标签
      • 研究设计
        • 任务
        • 阻塞
        • 会议
        • 组
      • 任务编辑器
        • 任务控制
        • 试验系统
        • 画布和页面框架
        • 对象
        • 对象属性表
        • 变量
        • 系统变量表
        • 事件系统
        • 文本编辑器功能
        • 任务中的眼动追踪
        • 任务中的头部追踪
        • 多用户研究
      • 设置
      • 变量
      • 媒体
      • 文本与翻译
      • 启动与参与
      • 受试者管理
      • 数据视图与导出
        • 数据视图和变量 & 任务选择(旧版本)
        • 访问录音(旧版本)
  • 视频
    • 视频概览
    • 在 Labvanced 中入门
    • 创建任务
    • 元素视频
    • 事件与变量
    • 高级主题
  • 操作指南
    • 介绍
    • 斯特鲁普任务
    • 词汇决策任务
    • 波斯纳注视提示任务
    • 变更失明闪烁范式
    • 眼动追踪示例研究
    • 婴儿眼动追踪研究
    • 鼠标追踪注意捕捉研究
    • 快速串行视觉呈现
    • ChatGPT研究
    • 眼动追踪演示:SVG作为AOI
    • 多用户演示:显示受试者光标
    • 游戏手柄/操纵杆控制器 - 基本设置
    • 带有EEG集成的桌面应用研究
    • 被试间平衡与变量设置
  • 常见问题
    • 功能
    • 支持政策与指南
    • 安全与数据隐私
    • 许可证
    • Labvanced的精确度
    • 编程使用与API
    • 离线使用Labvanced
    • 故障排除
    • 研究创建问题
  • 新闻通讯档案
  • 文档
  • 课堂

发送 PostMessage 动作

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

目录

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

概述

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

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

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

常见用例

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

双向设置

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

postMessage API 是一种标准浏览器功能。外部页面需要一个 window.addEventListener('message', handler) 监听器,以便从 Labvanced 获取消息。该监听器还应按域过滤,检查消息来源是 Labvanced,以便仅对来自受信任来源的消息采取行动。您或您的开发人员需要编写该代码。如果需要,人工智能编码工具可以帮助快速生成它。

工作原理

当此动作触发时,Labvanced 会向目标窗口发送 postMessage。该消息被发送到任何在 目标域 上使用 window.addEventListener('message', handler) 监听的页面。

消息有效负载包含要发送的 值。如果设置了 键,则会将其包含在有效负载中,以便接收方可以识别消息类型并进行相应处理。

外部页面负责处理消息。其监听器应检查消息来源,然后再采取行动,以确保仅对从 Labvanced 发送的消息做出响应。

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

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

配置 发送 PostMessage 动作的字段。

动作选项

菜单项发送 PostMessage 动作选项
目标域指定应接收消息的目标来源。默认值为 *,将消息发送到任何来源。当目标已知时,请将 * 替换为完整的目标 URL(例如,https://yoursite.com)。为了安全起见,建议指定确切域名。
键将标识符键附加到传出的消息。这将消息有效负载结构化为 键: 值,接收方可以用来区分不同类型的消息。如果不需要键,请保持为空。
要发送的值定义要包含在传出消息中的数据。点击编辑图标以打开 值选择菜单 并指定发送的内容:一个常量值、一个 Labvanced 变量或一个表达式。

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


进一步阅读和开放材料

  • PostMessage 接收触发器:用于监听来自外部源的传入 postMessages 的配对触发器。
  • 值选择菜单:如何使用变量、常量或表达式定义要发送的值。
  • Labvanced Web Bridge 扩展: 有关如何使用 postMessage 进行与嵌入外部网站的通信的背景信息。
  • 事件概述: 完整介绍 Labvanced 中的触发器和动作逻辑系统。