2
我正在開發Android中的Web應用程序,並使用WebView播放一些頁面。以下是我的html代碼,我寫了一個js函數來獲取瀏覽器屏幕高度的高度。在WebView中,js函數window.innerHeight只返回0?
<html>
<head>
<script>
window.onload=function(){
alert(window.innerHeight);
}
</script>
</head>
<body style="background:black;">
</body>
</html>
我測試上述代碼在我違抗480×800的移動設備和web視圖,它只是返回0,有時還有其它號碼。但在瀏覽器中,它的工作原理正確。
所以我想知道是否有什麼我應該知道在WebView中獲得可用的屏幕高度?
更新:2012年3月13日
感謝Demonick,我按照你的建議,並找到lazyload.js,我使用的setTimeout做一個民意調查,以獲取窗口的高度。
希望它可以幫助別人。
<script>
//poll numbers
var pollCount=0;
//get the window Height
var pollWindowHeight=function(){
//poll the window innerHeight 10s
if(window.innerHeight==0){
pollCount+=1;
if(pollCount<200) {
setTimeout(pollWindowHeight,50);
}else{
//just stop polling or you can do some others
}
}else{
//use the window.innerHeight to do something...
}
}
document.addEventListener("DOMContentLoaded",pollWindowHeight, false);
</script>
參考:https://github.com/rgrove/lazyload/