You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Firefox安卓版输入框聚焦时异常缩放且状态锁定问题求助

可行解决方案如下:

1. 修正viewport标签配置

你当前使用的viewport包含冗余的height参数,Firefox 94.x版本在Android 11上对该参数的解析存在兼容缺陷,会导致软键盘收起后视口参数未正常回滚。替换为以下标准配置:

<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />

明确指定maximum-scale=1.0的优先级高于单独设置user-scalable=no,可以强制拦截Firefox的自动缩放逻辑。

2. 绑定失焦事件手动重置视口

监听输入框的失焦事件,主动触发视口参数重置和页面重绘,直接修正缩放锁定问题:

// 适配单/多输入框场景
document.querySelectorAll('input').forEach(input => {
  input.addEventListener('blur', () => {
    const viewportMeta = document.querySelector('meta[name="viewport"]');
    // 先修改content触发视口重新计算
    viewportMeta.content = 'width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no';
    // 主动触发resize事件强制浏览器重绘页面
    window.dispatchEvent(new Event('resize'));
  })
})

3. 添加样式规则禁用手势冲突

通过touch-action属性禁用不必要的浏览器手势触发逻辑,避免缩放逻辑被意外激活:

input {
  touch-action: manipulation;
  /* 保留你之前添加的16px字体配置 */
  font-size: 16px !important;
}

body {
  /* 仅允许上下/左右滑动,禁用双指缩放等手势的默认触发 */
  touch-action: pan-x pan-y;
}

该问题是Firefox 94.x版本在Android 11上的已知偶现BUG,根源是软键盘弹出时浏览器错误计算可视区域高度,导致视口缩放参数没有在软键盘收起后自动回滚,上述方案可以覆盖绝大多数该类异常场景。

内容的提问来源于stack exchange,提问作者worksonmine

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 14:54:03