UIWebView

作者: DVWang | 来源:发表于2017-09-08 16:02 被阅读0次

    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;
    

    }

    相关文章

      网友评论

        本文标题:UIWebView

        本文链接:https://www.haomeiwen.com/subject/ysxnjxtx.html