今天公司项目 Felo Search 要发版,但发现了不少 Bug 还没有修复,就和其他同事相互解决。其中在我这最头大的一个问题是与浏览器插件的通信出现异常,我的电脑无法复现,而测试与产品的电脑就很容易。就是网站通过 window.postMessage
的方式 Ping 插件,但是插件却并没有回复,触发超时错误。
一番日志输出排查后发现,其实是插件的加载速度太慢(可能是代码量太大了),页面先发送了消息,但插件用于接收消息的代码都还没有执行,因此无法收到,自然无法回复。而我的电脑可能性能比较好,所以才很难出现吧。这个问题目前用了 setTimeout
临时处理,后期的解决方案是改为插件主动 Ping 页面,页面收到后再更新状态。
晚上回到家了还在加班,虽然吃饱饭还是在沙发上躺了一会儿。首先搞定之前那个 WordPress 网站的异常现象,发现又是 Elementor 插件被自动更新了,重新按照之前的方式降级解决。接着弄公司他们在群里讨论发现的新 Bug,基本都是 CSS 问题,给手机单独适配一下就好了。
就是目前比较恶心人的还是 iPhone 下使用 height: 100vh
实际上会让部分内容显示在屏幕外的问题,之前我在 Felo Meet 的解决方案是从 <html>
标签到每个子层级都编写 height: 100%
来修复的,但实际业务调整起来还是挺麻烦的。我记得也有个新的 CSS 提案解决这个问题,就是新增了一个大小单位 dvh
,查了下兼容性,PC 稍微乐观一些(但是没用),我这 iOS 15 的 Safari 上不行。最低要求 iOS 16.4,安卓更是要 126,后面再看看如何处理吧...