我正在制作iOS应用程序,我的应用程序的一个页面有一个webview,后面有多个视图。在此页面中,webview应自动扩展,高度应与动态注入的内容相匹配,因为我不希望webview具有滚动。现在,我有一个问题,我无法将doucment.body的确切高度发布到客户端以设置webview的高度,因为我无法确认整个内容何时被渲染到文档中。
我试图检查document.body的高度变化,直到高度没变,我发布'0'。客户端通过invokeNative('changeHeight', params)
获取信号,当它为0时,客户端获取document.body高度,但在我的测试中,这不是文档的确切高度。只是内容节目的一部分。
function reportHeight() {
var preH = document.body.offsetHeight;
var params = {
"heigh": preH
};
invokeNative('changeHeight', params); //the method i communicate with client
var timeId = setInterval(function() {
var height = document.body.offsetHeight;
if((height - preH) == 0) {
invokeNative('changeHeight', {"heigh": 0});
clearInterval(timeId);
setTimeout(function() {
invokeNative('changeHeight', {"heigh": 10});
}, 500)
return false;
}
var params = {
"heigh": (height - preH)
};
preH = height;
invokeNative('changeHeight', params);
}, 30);
}
有什么方法可以解决这个问题吗?
顺便说一句,注入页面的内容只有css和html标签,而且没有js。