ResizeObserver介绍
ResizeObserver 接口可以监听到 Element 的内容区域或 SVGElement的边界框改变。
const resizeObserver = new ResizeObserver(entries => {
for (let entry of entries) {
entry.target.style.borderRadius = Math.max(0, 250 - entry.contentRect.width) + 'px';
}
});
// ResizeObserver.observe()开始观察指定的 Element或 SVGElement。
resizeObserver.observe(document.querySelector('.box:nth-child(2)'));
//结束观察指定的Element或 SVGElement。
ResizeObserver.unobserve(document.querySelector('.box:nth-child(2)'))
//取消和结束目标对象上所有对 Element或 SVGElement 观察。
ResizeObserver.disconnect()
报错介绍
https://www.w3.org/TR/resize-observer-1/#deliver-resize-error
1 怎样报这样一个错
To deliver resize loop error notification run these steps:
Create a new ErrorEvent.
Initialize event’s message slot to "ResizeObserver loop completed with undelivered notifications.".
Report the exception event.
2 怎样确定Document是否跳过了observations
To determine if Document has skipped observations run these steps:
For each observer in resizeObservers run this step:
If observer.skippedTargets is not empty, return true.
return false.
3 skippedTargets是什么
ResizeObserver has a skippedTargets slot, which is a list of ResizeObservations. It represents all Elements whose size has changed since last observation broadcast that are not eligible for broadcast
4 依然不明白为什么会报这个错