UI-WebView网页加载

1.给ViewController添加代理协议<UIWebViewDelegate>

2.声明成员变量:UIWebView * _myWebView;

3.在viewDidLoad方法中添加WebView:

    _myWebView = [[UIWebView alloc] init];

    _myWebView.frame = [[UIScreen mainScreen] bounds];

    [self.view addSubview:_myWebView];

4.添加请求加载网页地址:

    NSURL *url = [NSURL URLWithString:@"http://www.baidu.com"];

    NSURLRequest *request = [NSURLRequest requestWithURL:url];

    [_myWebView loadRequest:request];

5.添加代理关联:

    _myWebView.delegate = self;

6.UIWebView主要有下面几个委托方法:

     - (void)webViewDidStartLoad:(UIWebView *)webView;开始加载的时候执行该方法。

     - (void)webViewDidFinishLoad:(UIWebView *)webView;加载完成的时候执行该方法。

     - (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error;加载出错的时候执行该方法。

7.以下代码是写在代理委托方法,用来操作js代码

    //IWebView是iOS最常用的SDK之一,它有一个stringByEvaluatingJavaScriptFromString方法

    //可以将javascript嵌入页面中,通过这个方法我们可以在iOS中与UIWebView中的网页元素交互。

    //stringByEvaluatingJavaScriptFromString

    //使用stringByEvaluatingJavaScriptFromString方法,需要等UIWebView中的页面加载完成之后去调用。

    

    //<1>获取当前页面的url

    NSString *currentURL = [webView stringByEvaluatingJavaScriptFromString:@"document.location.href"];

    NSLog(@"currentURL = %@",currentURL);

 

    //<2>获取当前界面的title

    NSString *title = [webView stringByEvaluatingJavaScriptFromString:@"document.title"];

    NSLog(@"title = %@",title);

    

    //<3>修改界面上元素的值

    NSString *js_result = [webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByName('q')[0].value='gty';"];

    NSLog(@"js_result = %@",js_result);

    

    //<4>表单提交

    NSString *js_result2 = [webView stringByEvaluatingJavaScriptFromString:@"document.forms[0].submit(); "];

posted @ 2015-02-16 14:09  IT赏金猎人  阅读(599)  评论(0)    收藏  举报