我看到这个问题问here,here,here和here,但找不到明确和/或可行的答案。不能说所有的Android手机,在我的情况下,它是三星A7(2018)上的Android 9,运行Chrome 75。
怎么了。我有一个需要键盘输入的html表单。在Chrome中打开并尝试输入时,键盘强制窗体(位于Fancybox iframe中)调整大小。调整大小将窗体缩小到屏幕高度的约50%,并且还调整输入字段的窗体宽度和宽度/高度。在键盘被解除且表单恢复正常大小之前,任何键入的文本都不可见。这不是Fancybox问题,因为Chrome在正常加载时(即在fancybox iframe之外)调整大小相同的形式。无论是否有iframe,Firefox Focus或三星互联网都不会进行调整大小 - 键盘向上滑动并覆盖表格的下半部分,使表格保持100%的大小。
更新2019. Chrome的问题在2019年继续。回顾一下其他一些关于Android键盘弹出时引起的布局问题的问题,我在a question here找到了关于Chrome的问题的答案,关于Firefox的相同问题(不是问题了,至少现在没有Firefox Focus 9)。不幸的是,如果表单位于Fancybox iframe中,则仍会在Chrome中进行调整大小。
它是一个andriod问题,其中软键盘改变了视口高度...目前正在处理相同的问题...这看起来很有希望,即将实现...它设置视口内容以显示px值
setTimeout(function () {
var viewheight = $(window).height();
var viewwidth = $(window).width();
var viewport = $("meta[name=viewport]");
viewport.attr("content", "height=" + viewheight + "px, width=" +
viewwidth + "px, initial-scale=1.0");
}, 300);
编辑:像魅力一样工作