美文网首页
WebView代理方法

WebView代理方法

作者: 蓝苹果不是烂苹果 | 来源:发表于2016-07-02 21:21 被阅读599次
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
{
     网页加载失败情况在这里处理
}

相关文章

网友评论

      本文标题:WebView代理方法

      本文链接:https://www.haomeiwen.com/subject/czbqjttx.html