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(); "];

浙公网安备 33010602011771号