在网站区域(AOI)上跟踪鼠标行为
在网站框架内,鼠标事件和注视都是以相同的基本方式记录的:两者都不能针对任何除 Website AOI 元素以外的对象,这是网站框架中唯一能包含的对象。本页涵盖了在网站 AOI 上构建 Mouse Trigger 事件的全部内容。有关注视,请参见 网站框架眼动追踪操作指南,该触发器的事件设置已经在那儿详细介绍,并且在此处不会重复。
为什么这需要在这里设置,而不是 Labvanced 的其他地方
在网站框架外,鼠标跟踪大多数情况下是有效的:框架的连续鼠标跟踪属性被动记录光标移动,无需触发。在网站框架的嵌入页面内,该被动跟踪从未触发,参与者的浏览器在光标停留在 iframe 上时不会将鼠标移动发送到父页面,无论 Labvanced 设置如何。Mouse Trigger,由 Labvanced Web Bridge 扩展支持,是从框架内部获取任何鼠标数据的唯一方式。如果不构建一个,则网站 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 时记录 AOI 的名称和标签,以及其页面相对的 X/Y,而无需为每个 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报告 元素相对 坐标,即在 AOI 内部的位置,而不是页面中。
这两个在值选择器中标记相同(MouseX、MouseY),界面中没有任何内容能够区分它们,除了事件构建所基于的交互类型。从 Hover 事件和 Move 事件中混合的数据导出到同一列将混合两个不同的坐标空间,而不会发出任何警告。请提前决定你实际上需要哪种交互类型,然后在记录动作中接线。
Stimulus Name 和 Stimulus Info 确定事件发生在哪个 AOI 上,使用与 为你的导出数据命名 AOI 中涵盖的相同 Stimulus Info 标签,方便在你跟踪多个 AOI 或在 Any AOI element 模式下进行记录时使用。Element Text 包含事件发生时 AOI 的可见文本。
与注视共享:页面相对坐标包括滚动
上面描述的页面相对坐标(针对 Click、PressDown、PressUp、Move)包括 iframe 的内部滚动偏移,而不仅仅是当前视口中可见的内容。在网站 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 上时触发,但不需要你选择哪一个,任何一个都可以。