1.加载网页
NSString *path = @"http://jinwan.c.jinerkan.com/v3/client/video";
NSURL *url = [[NSURL alloc] initWithString:path];
[self.webView loadRequest:[NSURLRequest requestWithURL:url]];
2.与Html交互
NSURL * url;
NSURLRequest * request;
NSString * stringPath;
NSString * stringHtml;
//后退
[_webView goBack];
//前进
[_webView goForward];
//刷新
[_webView reload];
//停止
[_webView stopLoading];
request = [NSURLRequest requestWithURL:url];
[_webView loadRequest:request];
//加载HTLM文件
//找到本地html文件
stringPath = [[NSBundle mainBundle]pathForResource:@"Test" ofType:@"html"];
//得到html原码字符串形式
stringHtml = [NSString stringWithContentsOfFile:stringPath encoding:NSUTF8StringEncoding error:nil];
//加载html源码
[_webView loadHTMLString:stringHtml baseURL:nil];
//与JavaScript交互
两种方向
1.iOS客户端调用和html中的事件
2.html中的js事件触发iOS客户端中的方法
//参数:即为html中的js事件
[_webView stringByEvaluatingJavaScriptFromString:@"show()"];
pragma mark -- webViewDelegateMethod
- 开始加载请求
- @param webView 当前web
- @param request 请求体
- @param navigationType 导航栏样式
-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
//得到当前网页网址
NSString * url = request.URL.absoluteString;
//
_textField.text = url;
pragma mark html中js事件为修改当前网页的网址(window.location.href="oc://alert")即会调用该代理的方法,因此该代理方法即为html与ios客户端的连接
//首先判断为那个客户端(通过oc标识判断)
//字符串分割(分割为客户端类型与所需调用的方法)
NSArray * array = [url componentsSeparatedByString:@"//"];
if ([[array firstObject]hasPrefix:@"oc"]) {
//说明为iOS客户端所需调用的方法
[self alert];
//根据方法名调用方法
//1.先将方法名存入选择器中
SEL sel = NSSelectorFromString([array lastObject]);
//调用方法
//内存警告问题
[self performSelector:sel];
}
return YES;
}