window 上广播所发生的情况。监听这些事件,你就可以在数据分析工具中跟踪访客行为、响应访客的回答,或在恰当的时机运行你自己的代码。
event.detail 中。其中始终包含两项:
quizId:触发该事件的测验llQuizApi:测验 API,让你可以直接在监听器中读取或修改测验
ll-quiz-init 会在测验准备就绪后立即触发,这可能早于你的脚本运行。不必担心:即使监听器注册得较晚,也仍会收到 ll-quiz-init。其他所有事件都由访客操作触发,发生在你的脚本就位之后。事件一览
ll-quiz-init
在测验出现在页面上并准备就绪后触发一次。你可以在这里获取llQuizApi、预填值或进行初始化设置。
string
LlQuizApi
该测验的测验 API
ll-quiz-step-view
每次显示步骤时都会触发,包括加载时显示的第一个步骤,以及访客返回上一步时。string
string
Field[]
目前为止给出的答案,参见下文的“fields 和 fieldsSimple”部分
object
以“标签 → 值”形式表示的相同答案
ll-quiz-step-leave
在访客离开某个步骤时触发,早于下一个ll-quiz-step-view。可用于衡量某个步骤所花的时间,或保存草稿。
string
ll-quiz-value-change
在提交答案时触发。需要输入的字段(文本、邮箱、电话、数字、多行文本、日期、出生日期、邮编、地址、OTP)会在访客离开该字段或该步骤时提交,因此每个答案只会触发一次事件,而不是每次按键都触发。其他所有输入,以及通过 API 设置的所有值,都会立即提交。string
string
区块在构建器中的名称
string
例如
text-field 或 multiple-choicestring
string
string
新的答案,格式与
Field.value 相同string
上一次报告的答案,或测验加载时的值
'user' | 'api' | 'system'
user:访客。api:你的脚本通过测验 API 设置。system:测验自身,例如提交后清空答案ll-quiz-step-view 的 fields 中。
ll-quiz-input-click
在访客点击多项选择或图片选择区块中的某个选项时触发。对于同一次点击,它会在ll-quiz-value-change 之前触发。
string
string
string
string
string
string
选项的值,与答案中存储的值相同
string
访客看到的文本
ll-quiz-button-click
在点击 Continue、Previous、Submit 或 Button 区块时触发,早于任何校验。即使这次点击最终被阻止也会触发,因此它统计的是尝试次数,而不是成功次数。string
string
string
string
ll-quiz-validation-error
当访客尝试离开某个步骤、但因步骤中有无效内容而被阻止时触发。每次尝试触发一个事件,在所有检查(包括邮箱、电话和 OTP 字段的服务器检查)完成后触发,并准确列出访客看到的错误。隐藏区块永远不会包含在内。string
string
'user' | 'api' | 'system'
user:按钮或会触发跳转的选项。api:你的脚本(validateStep()、goNext()、goToStep()、submit())。system:测验尝试自动前进(加载器、倒计时、支付)string
发起这次尝试的按钮或选项;
api 来源时为空string
api 来源时为空array
每个校验失败的区块对应一条,按步骤中的顺序排列:
blockId、blockName、blockType 和 messages(显示的文本;只展示第一条)ll-quiz-google-address-select
在访客从 Google Address 区块中选择一条建议地址时触发。string
string
string
string
object
street、city、state、stateShort、postalCode、country、countryShortll-quiz-submit
在测验提交、线索保存之后触发。这里适合把答案发送到其他地方或触发转化。string
访客提交时所在的步骤
string
Field[]
所有答案
object
以“标签 → 值”形式表示的所有答案
any
LanderLab 服务器返回的响应;如果没有保存线索(例如在测验设置中关闭了线索保存),则为
nullll-quiz-exit
在标签页或窗口被关闭或跳转离开时触发,基于浏览器的pagehide 事件。
fields 和 fieldsSimple
fields 是一个列表,每个已回答的区块对应一条:
fieldsSimple 包含相同的信息,但以标签为键组成一个对象,便于转发:
fieldsSimple 会用逗号连接它们的值。测验 API 的 getAnswers() 和 getAnswersSimple() 返回的数据结构与此相同。