gpt4 book ai didi

javascript - 移动 Webkit : reliably detect viewable area in all situations?

转载 作者:行者123 更新时间:2023-11-30 06:06:37 25 4
gpt4 key购买 nike

简短版:在我的移动网络应用程序中,我想始终检测屏幕的可视区域(例如,软键盘顶部(如果存在)和标题栏底部之间的空间),这样我就可以调整我的布局,不缩放,并始终保持页面在屏幕上完全可见。有什么可靠的方法可以做到这一点吗?


更长的版本:在应用程序中,我正在抓取所有触摸事件并自行控制平移和缩放。控制栏固定在屏幕的顶部和底部,始终可见。我的视口(viewport)设置是:

    <meta name="viewport" content="width=device-width; initial-scale=1.0;
maximum-scale=1.0; user-scalable=no">

我的愿望是始终使我的页面布局适应浏览器窗口的可视区域,因此屏幕上不会出现任何内容。因此,当键盘出现或消失,或者方向发生变化时,我需要检测宽度和高度并相应地重新布局。

如果没有屏幕键盘,window.innerWidthwindow.innerHeight 就足够了。但是,当键盘出现时,事情变得古怪(仅在某些严格控制的条件下工作)。天堂禁止在键盘打开时方向发生变化。

DOM 中有什么可以告诉我我想要什么吗?我真的更愿意动态地解决这个问题,而不是将界面元素的大小硬连接到我的代码中,但如果没有其他方法,我会求助于它。

抱歉说得冗长,很难描述我经历过的所有怪事。我的测试主要在运行 3.2 的 iPad 和运行 4.1 的 iPhone 上进行;两者的行为一直不一致。

最佳答案

最接近您所追求的可能是 screen.availHeight,它显示屏幕高度减去标题栏。但是,即使使用 window.onresize 事件,这在您调出屏幕键盘或旋转屏幕时也不会改变。恐怕我想不出一种方法来考虑这一点。

关于javascript - 移动 Webkit : reliably detect viewable area in all situations?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4082410/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com