一个网站上的一个错误只影响了用左手操作手机的用户。当他们用左手拇指滚动页面时,会无意中触发页面左侧的“回复”链接,导致评论框意外弹出,中断了浏览。这个问题源于 WordPress 中一段过时且不必要的代码,该代码是为了解决一个早已不存在的触摸延迟问题而添加的。最终,通过删除这几行代码,问题得到了解决。
一个只影响少数人的问题
一位读者反馈了一个奇怪的错误:在滚动页面时,一个评论框会突然出现。我本人经常浏览自己的网站,却从未遇到过这个问题。原因很简单,我用 右手拇指 滚动页面,而报告问题的读者用的是 左手。
这个错误的核心在于:
- 触发评论框的“回复”链接位于页面的 左侧。
- 用左手拇指滚动的用户,其拇指活动范围正好覆盖了这个链接区域。
- 用右手拇指滚动的用户,则完全不会碰到这个区域。
这成了一个只为“左撇子”用户准备的陷阱,而惯用右手的人则永远不会触发。
追踪技术根源
深入研究后发现,这个问题并非网站本身的设计缺陷,而是源于 WordPress 核心中的一段代码。
早在 2017 年,一位开发者为链接点击事件添加了一个 touchstart 监听器。在早期触摸屏设备上,浏览器需要通过一个短暂的延迟(约 300 毫秒)来判断用户的操作是单击还是双击缩放。这个监听器的初衷可能是为了消除这种延迟,让点击响应更快。
然而,这个问题在 2015 年左右就基本被浏览器解决了。因此,2017 年添加的这段代码不仅 多余,还产生了意想不到的副作用:它让链接对轻微的触摸(比如滚动的拇指划过)变得 异常敏感。
迟到七年的修复
有趣的是,这个错误其实在七年前就有人向 WordPress 团队报告过。现在,终于有人提交了修复方案。
解决方案非常直接:
- 找到那段多余的代码。
- 直接删除它。
这个修复虽然简单——仅仅是删除了几行代码——但它有效地解决了问题,让那些习惯用左手拇指浏览的用户不再因为“不自然”的操作习惯而遇到麻烦。