589 字
3 分钟
记一次导航栏栏无法展开二级菜单的bug修复
起因:万恶之源
事情的起因是访问unjal的博客的时候发现在我的电脑上测试,导航栏上的按钮根本无法触发展开二级菜单,但是经过我的拷打,友好的询问过后,发现其他设备上展开都正常,且我们用的都是同一个浏览器,内核版本相同,到底是什么原因导致我的设备无法正常显示呢?
一阶:无法修复?

经过unjal的严肃修复(调戏ds和Gemini),发现问题仍然存在且仅限我的电脑存在,我就要来了anvigation的源码进行排查,但经过 GPT 老师的身形调教之后,问题不能说一点没解决吧,但只能说解决了一点,导航栏一共 4 个按钮,位于偏右侧的两个按钮可以正常展开,但左侧两个按钮仍未展开。经过我的追问,这个问题始终得不到任何进展。问题到这里似乎陷入了停滞,那么真凶到底是谁呢?
二阶:灵机一动
偶然一次测试,我发现如果在页面没有完全加载的时候,所有的导航栏按钮都是可以正常展开二级菜单的;但是当页面加载完成之后,导航栏就无法正常展开了。
于是我断定,肯定是因为界面中的某个元素,遮挡了原来二级菜单的展开判定,我把我的发现报告给了 GPT 老师,GPT 老师给我了一些方案,让我缩小问问题的范围。经过我的测试,发现Mizuki主题会默认加载Live2d小人,从加载L2d小人的阶段开始,顶部导航栏的按钮就无法展开了,GPT老师火速分析了一下问题所在,然后发现问题果真如此,其加载高度高达600px,因此在分辨率较低的设备上测试的时候,会刚好遮挡住顶栏的按钮,虽然unjal的博客禁用了l2d功能,但iframe层仍在生效,于是这个问题到这里就算是正式解决了

三阶:完
只能说屎山代码发力这一块,不是注意力惊人,这个小众问题估计还是得不到解决