WebView代理方法

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
{
     网页加载失败情况在这里处理
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容