首页 > 解决方案 > 检测无限滚动中添加了新页面

问题描述

我有一个无限滚动,我想检查何时将新页面添加到 DOM。由于我是该网站的第三方,因此我想知道以下哪种方法在性能方面是最好的方法,以便检测对 DOM 的这种更改:

  1. 设置间隔
  2. 突变观察者
  3. 滚动事件
  4. 路口观察员

标签: javascriptobservablelazy-loadingsetinterval

解决方案


我无法用专业知识来描述,但让我告诉你我的看法。我认为最好的选择是每次滚动网站时使用滚动事件并检查窗口高度

我认为 setInterval 不是一个好的选择,因为如果您设置长期延迟,则会显示响应时间较晚,或者如果您设置短期延迟,该函数会被多次调用,甚至没有必要

而且我不熟悉 Mutation 观察者和 Intersection 观察者,但我知道这两者都需要指向一个被观察到的元素。如果您知道必须观看哪个元素但您是第三方,那也没关系。每次更新站点时,您都​​必须检查。

但是 Scroll 事件不必指向一个元素,它会被调用到最低限度。

我认为最好的选择是每次滚动网站时使用滚动事件并检查窗口高度


推荐阅读