zoukankan      html  css  js  c++  java
  • WKWebViewJavascriptBridge

    1.git地址 https://github.com/marcuswestin/WebViewJavascriptBridge

    2.引入头文件 

    #import <WKWebViewJavascriptBridge.h>

    3.写属性

    @property (nonatomic,strong) WKWebViewJavascriptBridge* mJsBridge;
    @property (nonatomic,strong) WVJBResponseCallback payResponseCallback;

    4.创建桥接对象,与 _mWebView 关联

    -(WKWebViewJavascriptBridge *)mJsBridge
    {
        if (!_mJsBridge) {
            _mJsBridge = [WKWebViewJavascriptBridge bridgeForWebView:_mWebView];
            [_mJsBridge setWebViewDelegate:self];
        }
        return _mJsBridge;
    }

    5.注册原生事件 requestPay 供 JavaScript 调用, data 是 JavaScript 传给原生的数据。responseCallback 是原生给 JavaScript 回传数据

    -(void)registJsBridge

    {

        @WeakSelf(self);

        [self.mJsBridge registerHandler:@"requestPay" handler:^(id data, WVJBResponseCallback responseCallback) {

            @StrongSelf(self);

            if (data&& [data  isKindOfClass:[NSDictionary class]]) {

                //payResponseCallback先记录回调对象,便于下面异步处理后回传给JS数据

                self.payResponseCallback = responseCallback;

                //原生拿到data做处理

                

            }

        }];

    }

    6.原生调 JavaScript 的事件 JS Echo

        [self.mJsBridge callHandler:@"JS Echo" data:nil responseCallback:^(id responseData) {
            NSLog(@"ObjC received response: %@", responseData);
        }];
  • 相关阅读:
    python之sorted函数的三个参数
    python 局部变量和全局变量
    简单的理解https的连接过程
    关于web服务接口测试的一些问题及答案
    常用函数
    服务器并发处理能力
    JEMETER 录制
    resin
    loadrunner 计数器
    memcached and redis
  • 原文地址:https://www.cnblogs.com/huangzs/p/13844771.html
Copyright © 2011-2022 走看看