MS Edge:IntersectionObserver。对你起作用吗?
MS Edge: IntersectionObserver. Does it work for you?
在任何人在这里付出太多努力之前,我已经有了一个糟糕的解决方法。我只想知道有没有人用过。
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边框或者min-width: 1px; min-height: 1px;
即可。
在任何人在这里付出太多努力之前,我已经有了一个糟糕的解决方法。我只想知道有没有人用过。
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边框或者min-width: 1px; min-height: 1px;
即可。