罗技鼠标的 SmartShift 就是个坑!
近年来,我经常被一个问题困扰,浏览器中滚动页面后,使用 Ctrl + A, Ctrl + C 之类的组合键,经常导致页面无缘无故的缩放,就像下面这样,表现像是滚动还没有完全停止,还有那么一点惯性,此时按住 Ctrl 键触发了缩放。滚动之后秒等一会儿再按 Ctrl 就不会有这个问题。
我一直没有找到原因,不得以用了邪修的手段,安装 Zoom Block 浏览器扩展。它直接粗暴的禁用了网页的缩放功能,能够解决了大部分的问题。偶尔网页需要缩放了,也可以点击图标临时启用缩放。
但还是很不方便,比如访问 chrome 内部页面或者 Webstore 页面时,这个扩展是不生效的,而且有时频繁需要使用缩放功能,反复切换很麻烦。
https://chromewebstore.google.com/detail/zoom-block/jmomepcgehgfoimapeoinphcloinjfpb
这些基本还是能够忍受的,直到今天,我调试网页的一个导航描点滚动问题,经常滚动不到正确的位置,滚动条经常会抽风,反复滚动到一个错误的位置。
花了不少精力修改调试,通过 css, js 做了好几层保险,问题还是没有完全解决,仍然偶尔滚动功能抽风,最终回退了所有修改。重新测试时,在滚动后稍微延迟一会再去点击导航按钮,就再也没有出现这个问题了,问题解决了!
这和我以前遇到的网页缩放的问题太像了,得把滚动的那个余劲释放完,不过这次不是缩放,而是平滑滚动被拦截了。很早以前我也做过类型的网页,但印象中从来没有遇到这样的问题。
难道是我的鼠标的问题?打开 Logi Options+ 看了一下,有个设置很可疑呀!
SmartShift 快速滚动时,自动将滚轮从逐行滚动切换为疾速滚动。
关闭这个设置后,重新测试网页,一切都正常了。不会再出现反复滚动出错的问题了。
坏消息是,滚动后劲没完前按 Ctrl 会触发缩放的问题依然没有解决。不过 Zoom Block 在手,问题不大,不影响使用。
如果你有这个缩放问题的其它解决方法,欢迎在评论区分享。
文章同步发表于微信公众号老狗拾光,欢迎关注。