我一直在试图使这项工作几天,没有运气,所以我以为我会分享信息,也许有人提出了一个解决方案。
当软键盘启动时,我想获得准确的视口大小。我目前正在标题中使用以下代码,以便网站能够响应:
<Meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
我意识到的是,当软键盘出现时,它将使用设备高度作为视口高度,并将其余部分向上推 – 这使我认为它的宽度是从width = device-width选项。
setTimeout(function() { viewport = document.querySelector("Meta[name=viewport]"); viewport.setAttribute('content','height=auto'); },300)
然后使用jquery获取高度,在Android上显示CORRECT结果,也就是可视的视口大小,不带虚拟键盘,但不在iOS上。我得到一个随机数字,我认为源于其余的元标记不存在,所以我得到一个放大的网站版本,一个像75或100的数字(在iphone 4s)
将键盘放在上面后,我也尝试创建一个固定元素,使其使用顶部的视口高度:0;和底部:0;属性,但我仍然得到原来的高度。
更接近的是将视口元标记高度设置为固定值,可以通过jquery的$(window).height()来获取,这意味着元标记在启动键盘后实际上有所不同,但是固定高度没有真正的价值。