
web
控制網(wǎng)頁是否進(jìn)行加載
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{
return YES;
}
網(wǎng)頁已經(jīng)開始加載
webViewDidStartLoad
網(wǎng)頁加載完畢:所有交互都寫在這里
webViewDidFinishLoad
注意
webViewDidFinishLoad方法執(zhí)行多次的原因:如果網(wǎng)頁內(nèi)有異步請(qǐng)求或者重定向時(shí),就會(huì)多次調(diào)用上述方法
解決方法:
if (webView.isLoading) {
return ;
}
補(bǔ)充: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
{
網(wǎng)頁加載失敗情況在這里處理
}