UIWebView 的使用

在最近的项目中 经常要用到UIWebView,所以 小弟不才 特意学习总结了一下。

UIWebView代理方法

在webView的代理方法中,我就介绍一些个人认为比较有用的。

    这个方法看名字就知道,就是WebView加载完成的时候调用。
    这个时候,可以在这里面添加一些JS代码,来实现webView和JS的交互。
    
    -(void)webViewDidFinishLoad:(UIWebView *)webView
    {

    }
    这个是每发送一次请求都会调用一次,也就是我们可以通过这个方法监听WebView上面的点击事件。
    参数request 包括了请求的地址等信息。

    -(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
    {
        
    }

UIWebView和JS的简单交互

在WebView中因为有stringByEvaluatingJavaScriptFromString 这个方法,使得WebView和JS交互变成有可能的事情,那么下面我们就来看看一些 基础的应用。

当然所有的JS应当在WebView 加载完成的前提之下进行,也就是 webViewDidFinishLoad 里面

从网页获取URL

-(NSURL *)url
{
    NSString *urlString = [self.webView stringByEvaluatingJavaScriptFromString:@"location.href"];
    
    if (urlString )
    {
        return [NSURL URLWithString:urlString];
    }
    else
    {
        return nil;
    }
}

从网页获取标题

-(NSString *)title
{
    return [self.webView stringByEvaluatingJavaScriptFromString:@"document.title"];
}

网页的滚动位置

-(CGPoint)point
{
    CGPoint pt;
    pt.x = [[_webView stringByEvaluatingJavaScriptFromString:@"window,pageXOffset"] integerValue];
    pt.y = [[_webView stringByEvaluatingJavaScriptFromString:@"window,pageYOffset"] integerValue];
    
    return pt;
}

获取页面里面的icon

[web.request.URL scheme] 这个就像文档叙述的那样,代表签名的协议头,例如http://www.baidu.com,那么这个就是 http://

[web.request.URL host] 这个就是后面的地址主机,就是 www.baidu.com

path 里面填写的是图片的名称。

NSURL *url = [[NSURL alloc] initWithScheme:[web.request.URL scheme] host:[web.request.URL host] path:@"/favicon.ico"];

调整webView里的字体大小

[UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
[webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByTagName('body')[0].style.webkitTextSizeAdjust= '500%'"];

参考的致谢

http://www.cocoachina.com/industry/20121123/5167.html
还有许多高级用法,我暂时用不到所以先不看,感兴趣可以去上面的链接 学习。

你可能感兴趣的:(UIWebView 的使用)