这个问题是关于UIWebView在iOS开发中的一个问题。UIWebView是一个用于在iOS应用中嵌入网页的组件。sizeThatFits:
方法是用于确定UIWebView的最佳尺寸。document.body.offsetHeight/Width
是JavaScript中获取网页内容高度和宽度的方法。
问题:为什么UIWebView的sizeThatFits:
给出比document.body.offsetHeight/Width
更大的尺寸?
答案:UIWebView的sizeThatFits:
方法返回的尺寸是根据整个网页的内容,包括可见和不可见的部分来计算的。而document.body.offsetHeight/Width
只返回当前可见的网页内容的高度和宽度。因此,当网页中存在不可见的内容时,UIWebView的sizeThatFits:
方法会返回一个更大的尺寸。
解决方法:如果您需要获取UIWebView中网页内容的实际尺寸,可以使用以下JavaScript代码:
var body = document.body, html = document.documentElement;
var height = Math.max( body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight );
var width = Math.max( body.scrollWidth, body.offsetWidth, html.clientWidth, html.scrollWidth, html.offsetWidth );
这段代码会返回网页内容的实际高度和宽度,包括不可见的部分。然后,您可以将这些尺寸与UIWebView的sizeThatFits:
方法返回的尺寸进行比较,以确定最佳的尺寸。
领取专属 10元无门槛券
手把手带您无忧上云