文章目录
文章目录
本文目录
本文目录

手机嵌入在线编辑器被软键盘挡住,先确认测的是哪个视口

石墨办公 + AI

宿主顶层可见区域、iframe外框与子文档布局是不同测量上下文。分清CSS像素、缩放和尺寸变化,避免用内部高度替代手机实际可见区域。

手机门户中嵌入的在线编辑页,软键盘弹出后遮住输入区域,不能只看编辑器内部上报的高度。先确认这个数值属于宿主顶层页面,还是 iframe 自己的布局范围;子文档认为空间没变,不代表用户仍看得到相同区域。

本文讨论移动网页 SDK 接入中的几何边界,面向负责门户与编辑器衔接的开发者。以下观察与用例均为设计建议,未在手机、应用内网页或某个产品版本上实测。免插件接入也不等于所有终端具有同样的键盘和视口行为。

布局使用的空间,与用户此刻看见的部分要分开

MDN 的 VisualViewport 说明区分布局视口与视觉视口:页面用于布局的区域,与屏幕上此刻可见的部分并非总是相同。捏合缩放、屏幕键盘等可能改变视觉视口,而布局视口没有发生对应变化。

因此,一个定位在布局底部的工具栏,不能只凭“底部为零”就证明仍可见。排障应分别观察输入焦点、工具栏实际位置、可见区域与滚动情况。只收到 resize 事件,或只看到页面高度未变,都不足以结束判断。

高度差也不能直接作为键盘高度。缩放、地址栏和页面偏移等因素可能同时变化,应记录发生了什么交互,再解释数值;不要把任意高度减少都归因于键盘。

iframe 内测量的,不是整部手机的可见区域

同一份 API 说明明确:每个窗口有自己的 VisualViewport;只有顶层窗口的视觉视口才可能与布局视口不同。iframe 的相关指标对应自身的布局范围,不能直接拿来当作宿主页扣除软键盘后的可见区域。

在一个假设例子中,宿主页仍给编辑器容器保留原高度,键盘却遮住屏幕下方。子文档可能仍报告原来的内部尺寸;问题并不因为这个数值“正常”就消失。反过来,宿主缩小了容器,也要确认内部编辑页如何响应,不能从外框变小推出输入框自动滚入可见位置。

MDN 的视口概念文档也说明,iframe 内的视口单位与媒体查询依照自己的视口工作。因此,给子页面设置某个 vh 高度,不能替代对宿主容器和手机实际可见部分的核对。

手机键盘遮挡排查分三层:宿主顶层可见区域、iframe容器的尺寸位置、子文档内部输入和工具栏。子文档的视口数值不等于整部手机的可见区域。
原创测量上下文示意,不是产品界面、手机截图或实测结果。

先对齐坐标和责任,再讨论适配

接入方可以将证据分成三层:宿主记录顶层可见区域和滚动状态;容器维护者记录 iframe 外框的尺寸、位置与裁切;编辑器按其正式支持方式说明内部焦点和控件表现。跨源时,不能假设宿主可以直接读取子文档 DOM,也不能让子页面随意访问顶层对象作为通用方案。

VisualViewport 的尺寸与偏移以 CSS 像素表达。将它们与截图物理像素、屏幕尺寸或另一个窗口坐标直接相减,容易制造新的误判。应注明测量上下文、单位、缩放状态与采集时刻;文档不处于完全活动状态时,window.visualViewport 还可能为 null,不能把无有效读数解释成高度为零。

实际调整由维护相应页面的一方完成,并通过产品支持的扩展或布局接口验证。不要直接改写 SDK 私有 DOM,也不要在没有接口契约的情况下,把宿主与子页各自的高度修正叠加起来。

一个 viewport 参数不是所有终端的修复方案

viewport 元数据文档列出了 interactive-widget 对交互界面影响视口的不同模式。它描述的是可声明的行为,不能据此推定项目中的浏览器或应用内网页都支持,也不能保证改一个参数就修复编辑器。

若准备采用相关配置,先确认由哪个顶层页面设置、目标运行环境是否支持,以及会怎样影响布局与滚动,再在隔离环境复验。不应让用户通过禁用页面缩放来绕开遮挡;这样可能妨碍需要放大阅读的使用者。

系统浏览器与应用内网页需要分别验证。历史浏览器版本文章可以解释某次行为变化,但不是当前手机兼容清单;不能用桌面调成 390px 的预览代替实体手机软键盘验证。

验收要能解释遮挡发生在哪一层

准备一份虚构测试文档和明确的输入任务,记录设备、系统、浏览器或宿主应用及网页容器版本。下面各项均为待执行条件,没有实测结果。

移动嵌入编辑的几何观察
交互同时记录独立判断
聚焦并展开键盘顶层可见区域、外框、焦点位置输入内容能否看见
滚动到工具栏宿主与内部滚动、控件实际位置必要操作能否到达
关闭键盘或旋转尺寸、偏移与布局恢复过程是否残留遮挡或空白
捏合缩放后再输入缩放状态与焦点可见性不把高度变化都当作键盘

记录应说明“外框未随可见范围变化”“外框变化但内部控件仍被挡住”或“滚动后能到达但操作无响应”等具体结果,交给对应维护方复现。输入看得见、操作能到达和内容已保存是三项结果;最后还需按实际保存流程重新打开核对,不能由屏幕几何推出保存成功。

评估石墨办公文档中台私有部署嵌入移动门户时,可带上实际入口、终端与一条键盘展开后的输入路径,预约接入演示,确认宿主和编辑页各自提供的适配接口与验证范围。本文不推定产品内部采用哪种视口策略,也不宣称已完成任意手机适配。也可以先看私有化部署方案,了解部署形态与交付范围。