在网站 AOI 上跟踪鼠标行为
在网站框架内,鼠标事件和注视以相同的基础方式记录:两者都无法针对任何元素以外的 Website AOI 元素,这就是网站框架可以包含的唯一对象。此页面全面介绍如何在网站 AOI 上构建 Mouse Trigger 事件。有关注视的内容,请参阅 网站框架眼动追踪指导,该触发器的事件设置已在此处详细介绍,并未在此重复。
为什么在这里需要设置,而不是 Labvanced 的其他地方
在网站框架外,鼠标跟踪大多数情况下只需工作:框架的连续鼠标跟踪属性被动记录光标移动,无需触发器。在网站框架的嵌入页面内,该被动跟踪从不触发,参与者的浏览器不会在光标位于 iframe 上时将鼠标移动发送到父页面,无论 Labvanced 的任何设置。只有通过 Labvanced Web Bridge 扩展支持的 Mouse Trigger,才能从框架内获取任何鼠标数据。如果不构建一个,网站 AOI 将默默地记录不到关于鼠标行为的任何信息,和没有锚定的 AOI 一样,静静地记录不到任何信息。
三种目标模式
添加 Mouse Trigger 事件,并且在网站框架内,其 Targets: 部分提供三种模式,而不是单一目标选择器:
| 模式 | 作用 |
|---|---|
Any element in website frame | 在嵌入页面上的任何地方为所选交互触发,无论是否发生在注册的 AOI 上。 |
Any AOI element | 每当交互发生在任何注册的网站 AOI 上时触发,而不必逐个选择它们。 |
| 选择特定目标(默认,未勾选任何框) | 仅为您明确添加为目标的网站 AOI 触发。 |
这是一个比注视在同一框架中获得的选择更丰富的选择:Eyetracking Gaze/Eyetracking Fixation 触发器仅提供两种模式:Only trigger when looking at specific elements 未勾选(每当新注视数据存在时持续触发,且未设定目标)或勾选(仅限于特定选定的 AOI 目标)。没有 Any AOI element 的注视等价物。
如果 AOI 重叠, 目标模式将改变计算方式。对于具有特定选定目标的 Click、PressDown 和 PressUp,Labvanced 在点击点检查每个 AOI,而不仅仅是视觉上位于顶上的一个,因此即使上面有其他 AOI 堆叠,您的目标仍会触发。Any element in website frame 和 Any AOI element 模式,以及 Hover/Leave/Move 不论模式如何,只会考虑该点的单一最上层元素。
构建事件
- 添加新事件,选择
Mouse Trigger。 - 设置
Action:为您想要的交互:Click、PressDown、PressUp、Hover、Leave或Move。对于Click、PressDown和PressUp,还会出现一个Button:下拉菜单Left或Right,以限制触发器为一个鼠标按钮。 - 从上表中选择一个目标模式。如果您留下两个复选框未选中,请单击
Add Target并选择您想要的网站 AOI。 - 添加一个
Set / Record Variable操作以实际捕获数据,没有一个操作的事件将不记录任何内容,和没有附加Eyetracking Gaze事件的 AOI 一样。将变量的格式设置为Array。对于记录类型,Final value仅保留最近的发生记录,而Time series则保留每一个。选择Time series将显示一个进一步的Sampling method选项:record all (allow repeated duplicates)或record changes only (no repeated duplicates)。 - 在值选择菜单中,从
Trigger (Mouse)类别中选择,这里有此事件特定的值,下一节中会进行描述。
触发器:
Mouse Trigger→Action:Move→Targets:Any AOI element
动作:Set / Record Variable→ 格式:Array,记录类型:Time series,采样方法:record all (allow repeated duplicates)→ 值:Mouse [Name, Info, X, Y] Array来自Trigger (Mouse)
这将记录 AOI 的名称和标签以及其页面相对的 X/Y 坐标,在任何注册的 AOI 上的每次鼠标移动中,而不需要为每个 AOI 创建单独的事件。
选择值,以及随之而来的坐标空间
Trigger (Mouse) 类别提供:
| 值 | 结果 |
|---|---|
MouseX / MouseY | 单独的 X 或 Y 坐标 |
Mouse [X,Y] Array | 两个坐标的组合 |
Stimulus Name | AOI 的对象名称 |
Stimulus Info | AOI 的 Stimulus Info 标签 |
Element Text | AOI 在事件发生时的可见文本 |
Mouse [Name, Info, X, Y] Array | 名称、Stimulus Info 和两个坐标的组合 |
Mouse [Name, Info, Text, X, Y] Array | 名称、Stimulus Info、可见文本和两个坐标的组合 |
MouseX/MouseY(以及由它们构建的数组)在每种交互类型中并不意味着相同的事物:
Click、PressDown、PressUp、Move报告 页面相对 坐标,即嵌入页面的整个可滚动区域中的位置,包括参与者已滚动过的内容。Hover、Leave则报告 元素相对 坐标,而不是页面中的位置。
这两者在值选择器中具有相同的标签 (MouseX、MouseY),界面中没有任何内容在它们之间区分,除了事件构建所使用的交互类型。在同一导出列中将 Hover 事件和 Move 事件的数据混合将会混合两个不同的坐标空间,而没有任何警告。请在连接记录操作之前提前决定您实际需要哪种交互类型。
Stimulus Name 和 Stimulus Info 识别事件触发的 AOI,相同的 Stimulus Info 标签在 为导出的数据命名 AOI 中进行了介绍,一旦您开始从多个 AOI 或 Any AOI element 模式记录时,这将非常有用。Element Text 在事件发生时传递 AOI 的可见文本。
与注视共享:页面相对坐标包括滚动
上面描述的页面相对坐标(适用于 Click、PressDown、PressUp、Move)包括 iframe 的内部滚动偏移,而不仅仅是当前在视口中可见的内容。记录在网站 AOI 上的注视坐标以相同的方式工作。如果您在分析过程中同时结合鼠标和注视数据来自相同的 AOI,这两者使用同样的页面相对坐标空间,因此它们直接对齐。您无需将一种转换为匹配另一种。
页面滚动位置不是单独的值
主指南的跟踪数据列表提到了滚动位置,但没有独立的“当前滚动位置”值可以单独记录。滚动偏移只会在上述描述的页面相对坐标内自动应用 (Click、PressDown、PressUp、Move),而不会作为可记录的变量单独暴露。如果您需要在 AOI 内的一个可滚动子区域上记录滚动行为,那是一个单独的设置 Scrollable container 在 AOI 本身上,已在 跟踪可滚动子区域 中介绍,其结果数据仅通过 Eyetracking Gaze/Eyetracking Fixation 触发器可用,而不是 Mouse Trigger。
故障排除
事件从未触发。 确认 Web Bridge 扩展已安装并激活,没有它,任何内容都无法到达网站框架内的 Mouse Trigger。如果您使用的是特定目标,请确认您选择的 AOI 实际上已锚定,未锚定的 AOI (selectorFound 为 false) 即使触发器本身配置正确也不会触发目标事件。
它触发了错误的元素,或者触发过于频繁。 检查选择了哪个目标模式。Any element in website frame 触发在任何地方,包括在任何 AOI 外,如果这不是您的本意,请切换到 Any AOI element 或者选择特定目标。
记录的坐标看起来错误或不一致。 检查事件使用的交互类型。Hover/Leave 坐标是相对于 AOI 的,Click/PressDown/PressUp/Move 是相对于页面的,见上文 选择值。
常见问题
为什么框架的常规鼠标跟踪设置在网站框架内不起作用?
鼠标触发,才能看到嵌入页面内的鼠标活动。 在我可以跟踪鼠标移动之前,我需要添加网站 AOI 吗?
任何 AOI 元素 模式时。网站框架中的任何元素 模式会在嵌入页面上的任何地方触发,无论交互是否发生在注册的 AOI 上,因此即使没有添加 AOI,它也能正常工作。 为什么我在同一个 AOI 上的悬停坐标比点击坐标小得多?
悬停/离开 报告的是相对于 AOI 元素本身的坐标,而 点击/按下/抬起/移动 报告的是相对于整个页面的坐标。两者使用相同的 MouseX/MouseY 值名称,因此仅从值选择器中无法看出这一点。 “网站框架中的任何元素”和“任何 AOI 元素”有什么区别?
网站框架中的任何元素 在嵌入页面上的任何地方触发交互,无论是否在 AOI 中。任何 AOI 元素 仅在交互发生在注册的网站 AOI 上时触发,但无需您选择哪个,任何 AOI 都行。