[英]How to get the height of the webpage that got loaded in UIWebView?
我使用了以下方法,但现在仍无法获得正确的值:
[webView stringByEvaluatingJavaScriptFromString:@"document.body.scrollHeight;"] floatValue]
[webView stringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight;"]
webView.scrollView.contentSize.height
我已经访问了以上所有内容,
- (void)webViewDidFinishLoad:(UIWebView *)aWebView
{
}
你可以通过两种方式
方法1:像这样加载您的html
embedHTML = [embedHTML stringByAppendingFormat:
@"<body><div id='size_div'>%@</div></body></html>",yourString];
现在在webViewDidFinishLoad方法中保留此语句...
NSString *output = [webView stringByEvaluatingJavaScriptFromString:
@"document.getElementById(\"size_div\").offsetHeight;"];
NSLog(@"height: %@", output);
方法2:
UIWebView *objWebView = [[UIWebView alloc] init];
for (UIScrollView *v in objWebView.subviews) {
if ([v isKindOfClass:[UIScrollView class]])
{
CGSize requiredSize = v.contentSize;
}
}
我认为webView.scrollView.contentSize
是在加载HTML时由webView本身自动设置的。 您是否尝试过完全像这样:
- (void)webViewDidFinishLoad:(UIWebView *)webView {
float h = [[webView stringByEvaluatingJavaScriptFromString:@"document.body.scrollHeight;"] floatValue];
// h is the height of the loaded webpage...
}
并且不要忘记设置webView的委托YourViewController: UIViewController <UIWebViewDelegate>
您可以使用以下方法获取Webview的高度
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
float height = [[webView stringByEvaluatingJavaScriptFromString:@"document.body.scrollHeight;"] floatValue];
}
用这个
let height = webView.scrollView.contetSize.height
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.