【发布时间】:2012-03-29 12:13:17
【问题描述】:
我正在开发一个移动网络应用程序,并试图删除地址栏。它很容易,除非<body> 的自然高度不够高,无法滚动。尽我所能尝试我找不到可靠的 iphone/android、跨设备方法来确保 <body> 足够高以允许地址栏消失。我见过的许多方法都依赖于screen.height,这使得页面比它需要的更高。它应该足够高,可以让地址栏消失,而且不能更高!
有没有人有一个可以完美处理这个问题的脚本?我只需要确定页面高度减去 iphone 和 android 的地址栏。
我试过了:
screen.height //too tall
window.innerHeight //too short
document.documentElement.clientHeight //too short
document.body.clientHeight //almost but too short
允许 JQUERY。
【问题讨论】:
-
如果启用了 jquery.. 你可以试试 $(window).height();或 $(document).height();
-
我都试过了。 $(window) 提供带有地址栏的窗口高度。 $(document) 根据相关页面的高度太短,提供的高度小于该高度。
-
不久前我也遇到过类似的问题,我强调类似。这段代码真的帮了我大忙:menacingcloud.com/?c=iPhoneAddressBar
-
其实我以前用过。它适用于 iPhone 并且具有正确的视口。问题是它太具体了,它没有以可靠的跨浏览器跨设备未来证明方式解决问题。
-
window.innerHeight在 iOS 中的 window.scrollTo(0,1) 之后变大。这是开源jqTouch lib使用的属性和方法。
标签: javascript jquery android web-applications mobile-safari