编程语言
首页 > 编程语言> > javascript-MS Edge:IntersectionObserver.对你起作用吗?

javascript-MS Edge:IntersectionObserver.对你起作用吗?

作者:互联网

在任何人在这里付出过多努力之前,我已经有了一个讨厌的解决方法.我只想知道是否有人在使用它.

Edge的第15版现已发布,并支持相交观察器(用于延迟加载).

我已经实现了它,并且它在所有支持它的浏览器(Chrome和Opera.尚未实现Firefox和Safari)中都可以正常工作,但在Edge中根本不起作用.

没有引发任何错误,但从未调用过回调.

handleIntersectionElement(elm) {
  if (elm && this.state.enabled && !this.observer) {
    this.observer = new global.IntersectionObserver(this.intersectionCallback, this.options);
    this.observer.observe(elm);
  }
}

选项如下,没什么特别的:

options = { root: null, rootMargin: '100px', threshold: [0] };

这是React组件的一部分,但是看不出为什么会有所作为.

解决方法:

IntersectionObserver无法在Edge中观察到宽度和高度均为0的空元素,因此您唯一需要做的就是设置1px border或min-width:1px;最低高度:1px;在您要观察的元素上.

标签:microsoft-edge,intersection-observer,javascript
来源: https://codeday.me/bug/20191025/1931846.html