曝光能力
曝光能力提供了一种观察目标节点可见性变化的能力,当目标节点由不可见变为可见时,触发曝光事件,反之,则触发反曝光事件。
开发者可以通过对需要观察的目标节点设置相关属性即可监听节点的曝光/反曝光事件,进而实现诸如埋点上报、UI 懒加载的需求。
曝光能力通过定时的曝光检测任务来观察节点可见性的变化,节点的可见性取决于以下因素:
- 目标节点的可见性:目标节点本身有宽高且不透明,并且父节点没有宽或高为零的裁剪。
- 目标节点的视口交叉:目标节点与父级滚动容器、
Lynxview、屏幕的视口存在交集。
监听全页面的曝光
当开发者需要监听全页面中节点的曝光/反曝光事件时,可以通过 GlobalEventEmitter 订阅设置了 exposure-id 属性的节点的曝光事件 exposure 和反曝光事件 disexposure。
在下面这个例子中,开发者通过 GlobalEventEmitter 监听 ComponentA 中的节点是否曝光,并在曝光时输出曝光的节点 exposure-id。
示例 1:
曝光/反曝光事件的格式为一个数组,数组包含了每个触发曝光/反曝光事件的目标节点信息。
