Javascript android视图+;jquery

Javascript android视图+;jquery,javascript,android,jquery,html,webview,Javascript,Android,Jquery,Html,Webview,我正在使用webview GUI开发一个android应用程序。我有一个包含页面的元素。它有一个页眉和一个页脚 <div data-role="page"> <div data-role="header"> ... </div> <div data-role="content" id="bg_im"> ... </div> <div data-role="footer"> ...

我正在使用webview GUI开发一个android应用程序。我有一个包含页面的元素。它有一个页眉和一个页脚

<div data-role="page">
  <div data-role="header">
    ...
  </div>
  <div data-role="content" id="bg_im">
    ...
  </div>
  <div data-role="footer">
    ...
  </div>
</div>
该函数在加载页面时执行

它在桌面浏览器(chrome、mozilla)中运行良好,但在android的webview中加载时失败。我发现原因是页眉和页脚的函数
.height()
返回的值为0


知道为什么吗?我试过了,但也没用。它仍然返回页眉/页脚大小0。

您的主要问题可能来自Math.floor()方法。您正在混合字符串串联和算术运算。你应该把这些陈述分开

var newHeight = Math.floor($(window).height() - $('#home_header').height() - $('#home_footer').height()); 
$('#bg_img').prop('height', newHeight);

我认为这不是问题所在。它确实返回一个数字,在本例中,该数字等于$(window).height()。此外,如果我打印出$('#home_header').height(),它将打印一个0。footer也是一样。所以问题是它不会减去页眉和页脚的大小,因为这两个数字都是0,我不知道为什么。你是在$(document.ready({})中调用这些方法吗;函数()?如果文档未准备好,div height可能为零。您也可以检查这个问题是的,该函数是通过以下方式调用的:$(document).ready(function(){resizeContent();$(window).resize(function(){resizeContent();});});
var newHeight = Math.floor($(window).height() - $('#home_header').height() - $('#home_footer').height()); 
$('#bg_img').prop('height', newHeight);