先把当时的情况摆出来。为了体验统一,viewport 里写了 maximum-scale=1 加 user-scalable=no。移动适配检测直接报不可缩放,用户也没法放大字体,移动端体验分被扣了一档。

把日志和配置对完,能解释这个现象的基本就这几处。模板照搬了几年前的写法。还有一种是设计稿要求固定比例,开发直接禁了缩放。

少数情况下是只测了 iOS 没测安卓的字体放大。不容易想到的是,部分页面单独写了 viewport,全站不一致。

先看页面输出的 viewport

curl -s https://www.example.com/ | grep -o '<meta name="viewport"[^>]*>'

随后改成标准的自适应写法

echo '<meta name="viewport" content="width=device-width, initial-scale=1">'

全站检查还有多少页带禁止缩放

grep -rn 'user-scalable' templates/

末了用

真

同一份数据我导出了两份,一份留底,一份拿来试。

恢复的判定其实很直接。改完检测项消失,真机上双指缩放正常,安卓系统字体放大也不再被压回原尺寸。

补一句。禁止缩放既影响可访问性也影响适配判定,除了确有必要的小工具页,其他页面都该放开。这类问题最好一次改到位,反复小改反而容易把原因搅混。

作者 9823189