zoukankan      html  css  js  c++  java
  • IOS-WebViewJavascriptBridge使用说明

     下面来说一下WebViewJavascriptBridge在ios端怎么样使用。

     首先确保一份已经配好功能的html文件。

     1.初始化一个webview(viewdidload)

    UIWebView* webView = [[UIWebView alloc] initWithFrame:self.view.bounds];
        [self.view addSubview:webView];

     2.将此webview与WebViewJavascriptBridge关联(viewdidload)

    if (_bridge) { return; }
    
      [WebViewJavascriptBridge enableLogging];
      
      _bridge = [WebViewJavascriptBridge bridgeForWebView:webView webViewDelegate:self handler:^(id data, WVJBResponseCallback responseCallback) {
        NSLog(@"ObjC received message from JS: %@", data);
        
        responseCallback(@"Response for message from ObjC");
      }];

     ps:此时你的webview就与js搭上桥了。下面就是方法的互调和参数的互传。

     (1) js调oc方法(可以通过data给oc方法传值,使用responseCallback将值再返回给js)

    [_bridge registerHandler:@"testObjcCallback" handler:^(id data, WVJBResponseCallback responseCallback) {
            NSLog(@"testObjcCallback called: %@", data);
            responseCallback(@"Response from testObjcCallback");
        }];

      这里注意testObjcCallback这个方法的标示。html那边的命名要跟ios这边相同,才能调到这个方法。当然这个名字可以两边商量着自定义。简单明确即可。

      (2)oc调js方法(通过data可以传值,通过  response可以接受js那边的返回值 )

    id data = @{ @"greetingFromObjC": @"Hi there, JS!" };
        [_bridge callHandler:@"testJavascriptHandler" data:data responseCallback:^(id response) {
            NSLog(@"testJavascriptHandler responded: %@", response);
        }];

     注意这里的  testJavascriptHandler也是个方法标示。

     (3)oc给js传值(通过  response接受返回值 )

    [_bridge send:@"A string sent from ObjC to JS" responseCallback:^(id response) {
            NSLog(@"sendMessage got response: %@", response);
        }];

      (4)oc给js传值(无返回值)

    [_bridge send:@"A string sent from ObjC after Webview has loaded."];
  • 相关阅读:
    安装VMtools vim编辑器的使用 压缩包命令 Linux下的用户管理 (第三天)
    VM虚拟机安装 常用Linux命令 网卡配置 (第二天)
    数据库的交互模式 常用的dos命令 (第一天)
    Validate US Telephone Numbers FreeCodeCamp
    Arguments Optional FreeCodeCamp
    Everything Be True FreeCodeCamp
    Binary Agents FreeCodeCamp
    Steamroller FreeCodeCamp
    Drop it FreeCodeCamp
    Smallest Common Multiple FreeCodeCamp
  • 原文地址:https://www.cnblogs.com/MasterPeng/p/5544993.html
Copyright © 2011-2022 走看看