Ana*_*and 8 uiwebview ios uiwebviewdelegate
我需要检查完成加载时的webview是否有任何内容.
我需要的是简单的.它是我页面底部的一个小网页视图(如广告)
我打电话
NSURLRequest *request=[NSURLRequest requestWithURL:adURL];
[gWebView loadRequest:request];
Run Code Online (Sandbox Code Playgroud)
我得到了回调
-(void)webViewDidFinishLoad:(UIWebView *)webView {
Run Code Online (Sandbox Code Playgroud)
但在我的场景中,webview将返回空,有时它将有数据.
如果我的服务器php文件没有返回任何内容,我不想显示webview.
如何验证我在回调(或任何其他方式)中收到空页?
Jan*_*ano 14
如果您要加载HTML页面:
NSString *string = [myWebView stringByEvaluatingJavaScriptFromString:@"document.getElementsByTagName('html')[0].innerHTML"];
BOOL isEmpty = string==nil || [string length]==0;
Run Code Online (Sandbox Code Playgroud)
或者您可以先加载内容,测试它是否为空,然后将其提供给webview.见UIWebView's loadHTMLString:baseURL:或loadData:MIMEType:textEncodingName:baseURL:.
这是基于Jano的方法,但应该表现更好:
NSString *script = @"document.getElementsByTagName('body')[0].innerHTML.length";
NSString *length = [self.webView stringByEvaluatingJavaScriptFromString:script];
if (length.integerValue > 0) {
NSLog(@"not empty");
}
Run Code Online (Sandbox Code Playgroud)