fix(keyboard): support OPPO Facebook fallback

This commit is contained in:
2026-07-01 17:30:29 +08:00
parent fa5b380577
commit 94bb6adbb5
5 changed files with 42 additions and 52 deletions
+3 -3
View File
@@ -1,13 +1,13 @@
"use client";
/**
* 小米 Android + Facebook IAB 专用输入框避让 hook。
* 特定 Android 设备 + Facebook IAB 专用输入框避让 hook。
*
* 这不是通用软键盘方案。它只解决一个已知 WebView 问题:
* 输入框 focus 后键盘弹出,但 Facebook IAB 没有稳定调整页面 viewport
* 导致底部输入框被键盘遮挡。
*
* 策略:
* - 非小米 Android Facebook IAB:完全不生效。
* - 非目标 Android Facebook IAB 设备:完全不生效。
* - focus 后短期多次测量输入框是否被 visibleViewport 遮挡。
* - 若 viewport 没有可靠变化,则使用固定 fallback 抬升。
* - 聚焦期间轻量轮询;一旦检测到 viewport 恢复,主动 blur 并清除抬升。
@@ -67,7 +67,7 @@ export function useKeyboardHeight({
if (!shouldEnableKeyboardAdaptation(environment)) {
resetInputLiftVar();
log.debug("[keyboard] disabled", {
reason: "not-xiaomi-facebook-iab",
reason: "not-android-facebook-fallback-device",
environment,
});
return;