如何在Android手机上停止调整软键盘的Chrome / Firefox浏览器窗口大小?

时间:2018-09-18 10:36:33

标签: javascript android html css android-softkeyboard

我看到这个问题是hereherehere问到的,但是找不到明确和/或可行的答案。不能说所有的Android手机,以我为例,它是运行Chrome 68.0,Firefox Focus 6.1和Samsung Internet 7.4的Samsung J3(2016)上的Android 5.1.1。

会发生什么。 当我加载需要键盘输入的HTML表单并尝试输入时,键盘会强制该表单(位于Fancybox iframe中)在Chrome和Firefox Focus中进行调整。调整大小可以将表单减小到屏幕高度的50%,还可以调整表单宽度和输入字段的宽度/高度。在关闭键盘并返回到正常大小之前,看不到任何键入的文本。 Fancybox问题?也许可以,但调整大小不会在三星Internet中发生-在该浏览器中,键盘会覆盖页面,即向上滑动并滑过表单的下半部分,使表单保持100%的大小。在早期版本的Firefox Focus中也没有发生。

在这里查看答案,我发现的only promising suggestion是:

$(window).bind( 'orientationchange', function(e){ // Type pretty code here });

仅仅是测试一下,有人可以建议“漂亮代码”是什么吗?

更新-鉴于Sirence,欢迎提出任何解决方案。还找到了这个https://www.chromestatus.com/feature/5656077370654720,它在链接的文档中看起来像(不确定)解决此问题的建议。

2 个答案:

答案 0 :(得分:0)

这是一个很奇怪的问题,其中软键盘更改了视口的高度...当前正在处理同一问题...这看起来很有希望,即将实现...它将视口的内容设置为显式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);

编辑:像魅力一样工作

答案 1 :(得分:0)

单独固定高度应该可以。下面的代码不使用jQuery。

dependencies {

        classpath 'com.android.tools.build:gradle:4.1.1'

        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath "com.google.gms:google-services:4.3.4"

        classpath("androidx.navigation:navigation-safe-args-gradle-plugin:$nav_version")
    }

我需要降低高度以适合我的情况。