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

个人免费网站建设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.dtcms.com/wzjs/522733.html

相关文章:

  • 哈尔滨模板建站定制网站独立网站
  • 中国建设银行北京分行网站网站百度收录秒收方法
  • wordpress制作评论模板seo排名优化排行
  • 网站开发注销代码批量关键词排名查询工具
  • 商业网站建设教程seo的推广技巧
  • 泰安网站开发手机网站
  • 做网站用jsp和html网络营销的主要方式
  • 汽车网站正在建设中模板中国seo排行榜
  • 合肥百度搜索排名优化快速seo优化
  • 淘宝网站怎么做的好程序员培训机构排名前十
  • 如何做内网网站建站流程主要有哪些
  • 旅游网站建设的目的推广app大全
  • 昆明企业网站开发游戏推广怎么快速拉人
  • 外贸网站建设和优化巩义网站推广优化
  • wordpress 4评测信息流优化师职业规划
  • 济南网站建设培训b站推广网站入口202
  • 教育网站官网入口网站如何优化一个关键词
  • 党刊网站怎么做游戏推广员招聘
  • 上海营销型企业网站企点qq官网
  • 网站建设的资金风险优化网站教程
  • 怎么登陆网站后台管理系统sem外包
  • 怎么自己做个网站广告投放网站
  • 行业网站建设深圳公司网络营销的含义
  • 手机代码编辑器seo店铺描述
  • 阿里云服务器ecs网站seo方案策划书
  • 浙江网站建设品牌网站前期推广
  • 企业申请完域名以后 怎么把网站运行起来网站优化推广方法
  • 手表网站大全360网站关键词排名优化
  • 网站建设公司每年可以做多少个网站打造龙头建设示范
  • 做网站留后门是怎么回事西安百度seo代理