我正在经历一个非常奇怪和独特的问题
由于项目的性质,我的所有页面都使用vh和vw CSS单元,而不是px
问题:在Android平板电脑上,当您触摸输入字段时,默认键盘会推动查看端口,导致页面和页面中的所有元素收缩
在ipad上,这个问题并不存在,因为键盘与屏幕重叠,不会推动屏幕
正在寻找任何解决方案,以避免Android键盘不推动浏览器的视口并保持原始大小
注意:我剩下的唯一选择是避免使用键盘来推动视口,我将无法更改CSS单元或使用xml、manifest。这些是遇到此问题的网页
我知道这是一个老问题,但我在我的应用程序中遇到了完全相同的问题。我找到的解决办法相当简单。(我的应用程序是Angular的,所以我把它放在了应用程序中。组件的ngOnInit函数中,但是document.ready()或任何其他“初始化完成”回调都可以通过适当的实验正常工作)
设置超时(函数(){
让viewheight=$(window.height();
让viewwidth=$(window.width();
让viewport=document.querySelector(“meta[name=viewport]”);
setAttribute(“内容”、“高度=“+viewheight+”px,宽度=“+viewwidth+”px,初始比例=1.0”);
}, 300);
这将强制视口元显式设置视口高度,而不是硬编码
<;meta name=“视口”
content=“宽度=设备宽度,高度=设备高度,初始刻度=1”>;
不起作用,因为当Android的软键盘打开时,设备的宽度和高度会发生变化