• 转:EasyJSWebView


    EasyJSWebView 是类似 Android  javascriptInterface 的 uiwebview js 调用原生代码框架

    示例代码:

    先建一个MyJSInterface接口

    @interface MyJSInterface : NSObject - (void) test;
    - (void) testWithParam: (NSString*) param;
    - (void) testWithTwoParam: (NSString*) param AndParam2: (NSString*) param2;
    - (NSString*) testWithRet;
     @end

    然后把MyJSInterface 添加到 UIWebView.

    MyJSInterface* interface = [MyJSInterface new];
    [self.myWebView addJavascriptInterfaces:interface WithName:@"MyJSTest"];
    [interface release];

    在Javascript中, 你可以使用如下代码调用 Objective-C 方法.

    MyJSTest.test();
    MyJSTest.testWithParam("ha:ha");
    MyJSTest.testWithTwoParamAndParam2("haha1", "haha2"); 
    var str = MyJSTest.testWithRet();

    你也可以通过回调获取到方法执行结果

    Objective-C 代码如下:

    - (void) testWithFuncParam: (EasyJSDataFunction*) param{ 
      NSLog(@"test with func"); 
      NSString* ret = [param executeWithParam:@"blabla:"bla"]; 
      NSLog(@"Return value from callback: %@", ret);
    }

    js调用方法如下:

    MyJSTest.testWithFuncParam(function (data){ 
      alert(data); //data would be blabla:"bla return "some data";
    });
  • 相关阅读:
    赫夫曼树编码
    根据先序和中序实现后序
    C++语言实现开心消消乐
    C语言风格实现的开心消消乐
    动态规划
    leetcode dp wordbreakII
    欧拉回路
    欧拉通路是否存在
    Python|多任务:线程、进程、协程--你想要的都在这里
    网络通信:socket、udp与tcp
  • 原文地址:https://www.cnblogs.com/guoxiaoqian/p/4784276.html
Copyright © 2020-2023  润新知