zoukankan      html  css  js  c++  java
  • WKWebView和JS交互

     // 1.WKWebView的配置
            WKUserContentController *userContentController = [[WKUserContentController alloc] init];
            [userContentController addScriptMessageHandler:self name:@"myName"];
            _wkConfig = [[WKWebViewConfiguration alloc] init];
            _wkConfig.userContentController = userContentController;
            _wkwebView = [[WKWebView alloc] initWithFrame:self.view.bounds configuration:_wkConfig];

    // 2.iOS 8 引入WKWebViewWKWebView 不支持JavaScriptCore的方式但提供message handler的方式为JavaScript 与Objective-C 通信.

    Objective-C 中使用WKWebView的以下方法调用JavaScript:

    - (void)evaluateJavaScript:(NSString *)javaScriptString

             completionHandler:(void (^)(id, NSError *))completionHandler

    如果JavaScript 代码出错, 可以在completionHandler 进行处理.

     [_wkwebView evaluateJavaScript:@"onPayComplete(1)" completionHandler:nil];// OC调用JS函数,可传参数

    //3. WKScriptMessageHandler protocol?

    - (void)userContentController:(WKUserContentController *)userContentController

        didReceiveScriptMessage:(WKScriptMessage *)message

    {

        NSLog(@"Message: %@", message.body);

    }

    // 4.在JavaScript 将信息发给Objective-C:

    // window.webkit.messageHandlers.<name>.postMessage();?

     

    function postMyMessage()? {?

        var message = { 'message' : 'Hello, World!', 'numbers' : [ 1, 2, 3 ] };?

        window.webkit.messageHandlers.myName.postMessage(message);?

    }

     

     

  • 相关阅读:
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    椭圆曲线加解密
    执行计划多版本查看
    椭圆曲线算法:入门(1)
    “戏精少女”的pandas学习之路,你该这么学!No.5
    用Fabric构建应收账款融资系统的方法
    区块链的去中心化创新
    搜集统计信息
    去中心化计算
  • 原文地址:https://www.cnblogs.com/MJP334414/p/5945312.html
Copyright © 2011-2022 走看看