UIWebView

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;

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • IOS之UIWebView的使用 刚接触IOS开发1年多,现在对于 混合式 移动端开发越来越流行,因为开发成本上、...
    学无止境666阅读 45,888评论 5 53
  • OS之UIWebView的使用 刚接触IOS开发1年多,现在对于 混合式 移动端开发越来越流行,因为开发成本上、速...
    知之未道阅读 1,668评论 0 4
  • http://www.cnblogs.com/mddblog/p/5281748.html 一、整体介绍 UIWe...
    F麦子阅读 1,262评论 0 2
  • UIWebView的三种加载方式和其代理API 提供了三种方法:1.- (void)loadRequest:(NS...
    JamesYi阅读 710评论 0 0
  • 春节假期,看着朋友圈晒的各种旅游照,在家宅着的你是否羡慕嫉妒恨得心痒痒的? 看着别人嫁的老公有车有房,男朋友木有...
    水的颜色阅读 1,940评论 11 24