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);
        }];
  • 相关阅读:
    手动去除迅雷7广告
    MIPS学习笔记
    龙芯中断系统
    《ecos增值包》之FAT文件系统篇
    MIPS架构学习笔记
    【3D数学】之向量
    【温故Delphi】之窗口ShowModal
    【Manage It】之项目规划
    【3D数学】之坐标系
    【Manage It】之启动项目
  • 原文地址:https://www.cnblogs.com/huangzs/p/13844771.html
Copyright © 2011-2022 走看看