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)
        • 参与者校准体验
      • 网络桥接
        • 选择网站 AOI | 锚定、调整和验证 AOI 跟踪
        • 在网站 AOI 上跟踪鼠标行为 | Web Bridge 指南
      • 问卷调查
      • 桌面应用
      • 示例研究
      • 参与者招募
      • API访问
        • REST API
        • Webhook API
        • WebSocket API
      • 其他主题

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

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

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

PostMessage 接收触发器

PostMessage Received 触发器在您的 Labvanced 实验运行时接收到来自外部来源通过浏览器的 postMessage API 发送的传入消息时触发。使用它将您的研究与父网页、自定义应用程序或嵌入的外部网站连接,这些网站将数据直接发送到实验中。

目录

  • 概述
  • 双向设置
  • 工作原理
  • 触发器选项
  • 触发器特定值
  • 进一步阅读和开放材料

概述

PostMessage Received 触发器可以在触发器选择菜单的 API/External Trigger 下找到。

在 Labvanced 事件编辑器中从 API/外部触发器类别中选择 PostMessage 接收触发器。

在事件编辑器中定位 PostMessage 接收 触发器,位于 API/外部触发器 下。

常见用例

  • 一个嵌入网站将用户交互事件(点击,表单完成)作为结构化的 postMessages 转发到 Labvanced。
  • 一个父应用程序(例如自定义 LMS 或机构网页门户)发送消息以推进实验或传递参与者数据。
  • 一个 JavaScript 驱动的集成,其中一个外部脚本触发实验逻辑中的特定点。

双向设置

在 Labvanced 和外部页面(例如 iFrame 或父应用程序)之间使用 postMessage 是一个 双向过程。Labvanced 处理一侧:这个触发器监听传入消息。另一侧是外部页面,必须进行编程以发送这些消息。

postMessage API 是一个标准浏览器功能。外部页面调用 window.parent.postMessage(data, targetOrigin) 向 Labvanced 发送数据。您或您的开发人员需要编写该代码。AI 编码工具也可以帮助您设置此项,通过提供上下文并快速生成代码(如有需要)。

一个常见模式是外部页面监听其自己的用户事件(例如点击、表单提交或注册),然后将每个事件作为 postMessage 转发到 Labvanced。每种事件类型可以使用 Key 字段标记标签(例如 click_event,signup_event),以便 Labvanced 可以分别过滤和响应每个事件。

工作原理

当实验运行时,Labvanced 监听传入的 postMessages。每当消息到达时,它会检查两个内容:

  • 源域:此消息是否来自允许的来源?
  • 键:此消息是否携带预期的键值(如果设置了一个)?

如果两个条件都满足,触发器将触发,消息有效载荷将作为 Message Content 在您的操作中可用。

外部页面负责发送消息。它通过在其自己代码中调用 window.parent.postMessage(data, targetOrigin) 来完成。它发送的 data 可以是任何东西:一个普通字符串,一个结构化值,或者一个事件标签。Labvanced 中的 Key 字段是您如何匹配该标签的特定值以区分不同类型的消息。

每种消息类型可以在 Labvanced 中具有其自己的专用事件。例如,一个事件使用 Key: click_event 当外部页面报告点击时触发,而另一个事件使用 Key: signup_event 当其报告表单提交时触发。


选择 PostMessage Received 后,将出现以下对话框:

Labvanced 中的 PostMessage 接收触发器配置对话框,显示来源域和键字段。

配置选项用于 PostMessage 接收 触发器。传入消息值将作为 消息内容 导出。

触发器选项

菜单项PostMessage 接收触发器选项
Origin Domain指定哪个域可以向此触发器发送消息。默认值是 *,接受来自任何源的消息。要将触发器限制为特定来源,请将 * 替换为完整的源 URL(例如,https://yoursite.com)。建议在知道发送源时使用此选项。
Key输入您希望此触发器匹配的特定键值(例如,click_event,signup_event)。仅当传入消息携带该确切键值时,触发器才会触发。留空该字段以对任何传入消息触发,无论内容如何。

注意: 传入消息值将作为 消息内容 导出,并可以通过 值选择菜单 在操作中引用。


PostMessage 接收的触发器特定值

在选择 PostMessage Received 触发器后,您可以通过 Value-Select Menu 在后续操作中引用以下触发器特定值。

值描述
Message Content接收到的 postMessage 的数据有效载荷。这是外部来源发送的值,可以存储在变量中,用于驱动逻辑,或记录为数据集的一部分。
Trigger Timestamp (Unixtime)触发器触发的时间戳,以 Unix 时间格式表示。
Trigger Time (From Frame Onset)从当前帧开始到触发器触发的时间(毫秒)。

进一步阅读和开放材料

  • 发送 PostMessage 操作:将消息发送回外部来源的配对操作。
  • 值选择菜单:如何在操作中引用触发器特定值。
  • 事件概述:Labvanced 中触发器和操作逻辑系统的完整介绍。