web
控制网页是否进行加载
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{
return YES;
}
网页已经开始加载
webViewDidStartLoad
网页加载完毕:所有交互都写在这里
webViewDidFinishLoad
注意
webViewDidFinishLoad方法执行多次的原因:如果网页内有异步请求或者重定向时,就会多次调用上述方法
解决方法:
if (webView.isLoading) {
return ;
}
补充:js交互
NSString *str4 = @"var elementImg = document.createElement('img');";
NSString *str5 = @"elementImg.style.width = '200px';";
NSString *str6 = @"elementImg.style.height = '200px';";
NSString *str7 = @"elementImg.src = 'http://img4.imgtn.bdimg.com/it/u=3785580735,1187443961&fm=21&gp=0.jpg';";
NSString *str8 = @"document.body.appendChild(elementImg)";
[webView stringByEvaluatingJavaScriptFromString:str4];
[webView stringByEvaluatingJavaScriptFromString:str5];
[webView stringByEvaluatingJavaScriptFromString:str6];
[webView stringByEvaluatingJavaScriptFromString:str7];
[webView stringByEvaluatingJavaScriptFromString:str8];
加载失败
- (void)webView:(UIWebView *)webView didFailLoadWithError:(nullable NSError *)error
{
网页加载失败情况在这里处理
}