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

手机如何制作网站教程网站双线选择

手机如何制作网站教程,网站双线选择,淮北 网站建设,phpnow安装wordpress问题背景 今天在使用 Vue 3 Ant Design Vue 开发后台管理系统时,在页面频繁触发 元素尺寸变化(如表格滚动、窗口缩放) 的时候,控制台频繁出现如下警告: ResizeObserver loop completed with undelivered notificati…

问题背景

今天在使用 Vue 3 + Ant Design Vue 开发后台管理系统时,在页面频繁触发 元素尺寸变化(如表格滚动、窗口缩放) 的时候,控制台频繁出现如下警告:

ResizeObserver loop completed with undelivered notifications.

经过查询,这是一个 浏览器层面的警告,尤其是 Chrome 对 ResizeObserver 的限制提示 —— 它不会导致程序崩溃,但如果开发模式下频繁触发,会让控制台非常烦人,也不利于我们排查其他真正的错误。

如果你也在使用如 ant-design-vue 表格(<a-table>)或其它监听 DOM 尺寸变化的组件,八成也遇到这个问题。


ResizeObserver 警告解释

这条警告源于 ResizeObserver 的实现机制。它表示监听了 DOM 尺寸变化后,在当前帧处理通知时,可能造成无限循环或未能及时处理完所有变化。

常见触发场景包括:

  • 使用了 <a-table> 且设置了 scroll 属性;

  • 页面频繁触发 resize

  • 某些组件内部使用了 ResizeObserver(如图表、布局组件);


最初尝试的方式(未生效)

最开始参考了网上一些解决方案,如通过 Vue 的全局错误处理器或监听 window 的 error 事件来过滤该错误。

// main.js 或入口文件
app.config.errorHandler = (err, instance, info) => {if (err.message.includes('ResizeObserver')) {return false; // 阻止错误继续传播}
};// 或监听全局错误
window.addEventListener('error', (e) => {if (e.message?.includes('ResizeObserver')) {e.stopImmediatePropagation();}
});

实际测试发现:并不能有效阻止 ResizeObserver 警告弹出,尤其是在使用 ant-design-vue 表格时。


正确可行的解决方案

经过深入排查和多方验证,发现该警告主要是 Webpack Dev Server(开发环境)中的 overlay 报错层 显示导致的。

解决思路:

  1. 捕获错误事件

  2. 匹配 ResizeObserver 报错信息

  3. 隐藏开发服务器报错 overlay 元素

 代码实现如下:

// main.js 或入口文件
const ignoreErrors = ["ResizeObserver loop completed with undelivered notifications","ResizeObserver loop limit exceeded"
];window.addEventListener('error', e => {let errorMsg = e.message;ignoreErrors.forEach(m => {if (errorMsg.startsWith(m)) {console.error(errorMsg);if (e.error) {console.error(e.error.stack);}// 隐藏开发环境 overlay 报错界面const resizeObserverErrDiv = document.getElementById('webpack-dev-server-client-overlay-div');const resizeObserverErr = document.getElementById('webpack-dev-server-client-overlay');if (resizeObserverErr) {resizeObserverErr.setAttribute('style', 'display: none');}if (resizeObserverErrDiv) {resizeObserverErrDiv.setAttribute('style', 'display: none');}}});
});

效果验证

应用该代码后,再次缩放窗口、多次滚动表格,控制台不再弹出烦人的 ResizeObserver 警告,页面开发体验明显提升。


总结

  • ResizeObserver 警告是 非致命性警告,但在开发环境中会干扰控制台输出;

  • 通过 error 事件捕获并主动隐藏 webpack-dev-server 的 overlay 错误提示,可以有效消除影响;

  • 本方案 适用于 Vue3 + Webpack 开发环境,特别是配合 ant-design-vue 的用户;

  • 注意:这只是开发阶段优化,不建议在生产环境使用类似做法


最后

希望这篇文章能帮你彻底摆脱控制台 “ResizeObserver” 的烦恼。如果你也遇到类似问题,欢迎留言一起探讨!

http://www.dtcms.com/a/560706.html

相关文章:

  • upload文件上传漏洞浅析
  • GitHub 热榜项目 - 日榜(2025-11-02)
  • 网站稿件管理发布系统中山网站建设半江红
  • 【Qt开发】布局管理器(二)-> QHBoxLayout水平布局
  • Linux 6.17:最新的驱动程序、快速的网络和可靠的内存
  • 【Ubuntu】虚拟机 Ubuntu 挂载 宿主机 Windows文件夹
  • 将go-tcp项目部署到docker容器下运行
  • 华为OD机试双机位A卷 - 几何平均值最大的子数组 (C++ Python JAVA JS GO)
  • PostgreSQL死锁排查攻略:从日志分析到实时监控
  • 佛山响应式网站开发二级域名免费分发站
  • 【软考架构】案例分析-Web应用设计(应用服务器概念)
  • C++中的过滤器模式:原理、实现与应用
  • Kanass实践指南(4) - 测试团队如何通过kanass管理跟踪用例与缺陷
  • 天河做网站技术松江做网站费用
  • 面试Redis篇—————缓存穿透问题及解决策略
  • 【ComfyUI】通用 文生图转视频
  • 怎样建网站?西湖区住房和城市建设局网站
  • 教做宝宝衣服的网站济南网站优化多少钱
  • 分布式文件存储服务设计与实现优化
  • Qt-Nice-Frameless-Window: 一个跨平台无边框窗口(Frameless Window)解决方案
  • 跨平台游戏引擎 Axmol-2.9.1 发布
  • Redis性能优化避坑指南
  • 【Cache缓存】两路组相连和全相连
  • 青岛门头设计制作长春百度关键词优化
  • 青海网站制作的公司天津市网站建设公司
  • 数据结构04:链表的概念及实现单链表
  • springCloud二-SkyWalking3-性能剖析-⽇志上传-告警管理-接入飞书
  • 【项目基础】vue-class-component、vue-property-decorator、vuex-class、GeoJson
  • JWT 是由哪三个部分组成?如何使用JWT进行身份认证?
  • 【JUnit实战3_24】 第十四章:JUnit 5 扩展模型(Extension API)实战(下)