当前位置: 首页 > news >正文

云南企业网站更先进的seo服务

云南企业网站,更先进的seo服务,深圳 做公司网站,如何做好校园推广为什么会存在ResizeObserver错误 ResizeObserver loop completed with undelivered notifications. ResizeObserver用于监听content size和border size的变化。但是元素的变化和监听可能会导致循环触发,例如有元素A,监听元素A尺寸变化后将元素A的宽度加…

为什么会存在ResizeObserver错误

ResizeObserver loop completed with undelivered notifications.

ResizeObserver用于监听content size和border size的变化。但是元素的变化和监听可能会导致循环触发,例如有元素A,监听元素A尺寸变化后将元素A的宽度加10px,如果没有特殊处理,那么线程将一直被占用无法进行其他任务,因为:A 宽度加10,监听到元素A尺寸变化后,A 宽度加10,监听到元素A尺寸变化后,A 宽度加10…就这么一直下去。

所以浏览器引入了一个策略,触发ResizeObserver事件的目标元素和其父元素的ResizeObserver的监听回调会推迟到下一帧执行,同时会在控制台抛出错误ResizeObserver loop completed with undelivered notifications.

也就是说:

  1. A > B 当A宽度增加时,B宽度同步增加同时监听A元素和B元素的变化。那么当A元素变化时监听B元素尺寸变化的回调会同步执行,并且A元素变化的监听函数会推迟到下一帧执行,并且控制台报错,因为有未执行的回调。

  2. Contaienr > A > B 当A宽度增加时,B宽度同步增加同时监听A元素和B元素的变化,Container元素的宽度同样会增加。那么当A元素变化时监听B元素尺寸变化的回调会同步执行,并且A元素和Container元素变化的监听函数会推迟到下一帧执行并且控制台报错,因为有未执行的回调。

怎么避免

  1. 避免循环执行:在回调中判断达到目标值之后就不修改元素尺寸,导致回调意外触发。

  2. 延迟尺寸修改到下一帧:将执行顺序改为,帧1,A元素尺寸变化 -> 帧2,执行A元素尺寸变化的回调 -> 帧3,元素尺寸变化 -> … 这样一直下去,就不会触发控制台报错,因为监听和触发是分帧进行的。

const resizeObserver = new ResizeObserver((entries) => {requestAnimationFrame(() => {for (const entry of entries) {entry.target.style.width = `${entry.contentBoxSize[0].inlineSize + 10}px`;}});
});

参考

ResizeObserver

http://www.mmbaike.com/news/99151.html

相关文章:

  • 抢先注册网站域名卖掉最近一周的重大热点新闻
  • 成都网站建设求职简历seo外链查询工具
  • 电脑怎样重新装wordpress长沙seo服务哪个公司好
  • 在什么网站做兼职线上推广渠道主要有哪些
  • 做兼职打字员的网站山东免费网络推广工具
  • 有哪些可以免费推广的网站链交换
  • 全民电竞app的制作公司运城seo
  • 西安第二波疫情最新消息短视频seo询盘系统
  • 网站建设性能分析电销系统
  • 大网站制作模板建站的网站
  • 招聘网站做销售怎么样互联网营销师培训机构哪家好
  • 手机绘图设计免费软件北京seo助理
  • 政府网站云平台建设seo实战培训视频
  • 手机可以搭建网站么网站seo外包
  • 杭州模板建站代理2022真实新闻作文400字
  • 单位做网站的目的企业品牌策划
  • 公司做网站注意什么自己可以做网站吗
  • 用jsp做网站的感想重庆网站优化
  • 电子商务前景如何北京网络优化
  • 哪里找人做网站app推广注册放单平台
  • b2c网站开发目的和意义百度指数搜索榜度指数
  • 做网站素材图片百度推广费用可以退吗
  • 有没有做网站源代码 修改的免费引流在线推广
  • 用c语言可以做网站吗百度网站优化公司
  • 网站5建设需要学什么时候开始无限制访问国外的浏览器
  • 网站建设二次开发怎么样网络公关
  • 怎么做公司网站需要什么网站ip查询
  • 做企业营销网站网站制作公司有哪些
  • 云南网站开发软件站长工具域名
  • 动漫制作专业软件有哪些新区快速seo排名