在新版本 iOS 系统中,某页面出现白屏,原因是 Safari 浏览器新增的全局变量 browser 与旧项目中的同名变量冲突。通过临时修复和代码重构解决了此问题,并加强代码审查和监控机制,以防止类似情况再次发生。
探讨了页面加载卡顿的原因并提出了多种优化方法。主要原因包括项目包或第三方脚本过大、JavaScript 执行阻塞页面加载、图片体积大且多等。优化策略包括构建缩包按需加载、减少图片体积等。文章还详细介绍了如何通过 Webpack 插件分析项目中用到的 npm 包及大小,以及如何通过调整图片尺寸、格式转换、压缩等方式减小图片体积。
分析了在 IOS 14 系统中绝对定位布局的滑动问题,提出了三种解决方案:完善父元素 CSS 属性,预设更大子元素;调整子模块布局,避免绝对定位;通过定时器重排重绘规避问题。最终总结问题根源在于 IOS 渲染机制,重新设置父元素 overflow 属性可恢复滚动。