Skip to main content
Popup API 让你可以用代码控制任意弹窗,而不只依赖内置触发器(页面加载、延时、滚动、退出意图)。在 Custom Code 元素或任意脚本中调用 window.llPopupsApi,即可通过按钮打开弹窗、在表单提交后关闭弹窗,或把弹窗接入你自己的集成。
使用弹窗的 ID,而不是名称。 API 中的所有操作都通过 id 定位弹窗。弹窗名称(你在编辑器中看到的易读标签)只是用于数据分析和显示的元数据,绝不会用于定位。如果你按名称定位,什么都不会发生。

第 1 步 - 准备弹窗

在用代码控制弹窗之前,先做好设置,避免它与你的触发器冲突,并给它一个可以引用的 ID。
1

将触发器设为 Manual

在右侧栏的 Popup 标签页中,将 Trigger 设为 Manual(仅按钮触发)。弹窗永远不会自动打开,只有在你的链接或脚本打开它时才会出现。
你并不是_必须_使用 Manual。无论弹窗设置了什么触发器,API 都能正常工作。Manual 只是确保弹窗在你亲自打开之前一直保持关闭。
2

复制弹窗的 ID

每个弹窗都已有一个唯一 ID。要找到它,打开左侧栏中的 Popups 面板,点击弹窗旁边的三个点(操作),然后选择 Copy ID。在 API 需要弹窗 ID 的地方粘贴这个值即可。
在 Popups 面板中通过操作菜单复制弹窗 ID

JavaScript API(window.llPopupsApi)

调用全局对象 window.llPopupsApi 来打开、关闭或切换弹窗:可以在自定义事件发生时、在你控制的延时之后,或从其他脚本中调用。把代码放进页面上的 Custom Code 元素即可。

定位:ID 可选

每个方法都接受一个可选的弹窗 ID:
  • 传入 ID → 操作只作用于该弹窗。
  • 省略 ID → 操作作用于页面上的所有弹窗。

方法

close 与 dismiss 的区别。 close() 是临时关闭,exit-intent 等自动触发器之后仍可能再次触发。dismiss() 在本次会话中永久生效(开启 Stay Dismissed 时最长可达 30 天)。“以后再说”用 close(),“不再显示”用 dismiss()。

示例

须知

  • 在页面就绪后再运行你的代码。 window.llPopupsApi 只有在弹窗脚本加载完成后才存在。把你的调用包裹在 DOMContentLoaded 监听器中(就像上面的 从按钮打开 示例那样),确保调用时 API 已经可用。
  • 预览模式。 在预览 URL 上,“Stay Dismissed” cookie 和 “Show Once” 标记永远不会被读取或写入,因此测试时弹窗总会出现。
  • 按 ESC 关闭。 如果弹窗启用了 Close on ESC,按下 Esc 会关闭最上层打开的弹窗,无需任何代码。
  • 打开优先于关闭锁定。 即使访客已经关闭并锁定了弹窗,调用 open() 仍会重新打开它,但弹窗自身的自动触发器仍会遵守该关闭状态。如果想重新锁定,请使用 dismiss()。