OC 와 js 의 상호작용

js 와 oc 의 상호작용 은 각각 두 가지 로 나 뉜 다.
js 호출
1. 우 리 는 UIWebView 를 통 해 자체 적 으로 가지 고 있 는 방법 stringByEvaluatingJavaScriptFromString: JavaScript 코드 를 호출 하면 우리 웹 페이지 를 호출 하 는 방법 을 실현 할 수 있 습 니 다 [webView stringByEvaluatingJavaScriptFromString:@"alert(' ')"]; 구체 적 으로 참고 할 수 있 습 니 다.http://www.jianshu.com/p/786a897694c1
2. 그 다음은 JavaScriptCore. framework 를 통 해 웹 페이지 js 를 조작 하 는 것 이다.
//  JSContext  ,(      webView     jscontext)
JSContext *context = [self.webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];

//OC  JS  ---test1 js                 js    
[context evaluateScript:@"test1()"];```

####   .js oc   
             
    js                    ,      。

1.JSContext block  :
      

/ / 우선 WebView 가 JS 를 실행 하 는 환경 을 가 져 와 야 합 니 다. 중요 한 것 은 JScontext * context = [self. webView value ForKeyPath: @ "documentView. webView. mainFrame. javaScriptContext"];
/ / 이것 은 대화 방법 context [@ "jsmethod"] = ^ () {NSLog (@ "당신 이 할 일");}; /js 호출 방법 jsmethod () 만 필요 합 니 다.저희 블 락 의 콘 텐 츠 를 실현 할 수 있 습 니 다.
2.JSExport    ---   
      ---- .h        ,                (  JS   OC  )

@ protocol JSexport / / js 호출 시 다음 과 같은 쓰기 방법 을 바 꿔 야 합 니 다. / iosshare. textJSexport With Parameter Two Parameter ('parameter 1', 'parameter 2');
  • (void)textJSExportWithParameter:(NSString *)parameter1 TwoParameter:(NSString *)parameter2; @end
  • 
     .m               ,        
    

    @interface JSObj()
    @end
    @implementation JSObj
  • (void) textJSexport With Parameter: (NSString *) parameter 1 Two Parameter: (NSString *) parameter 2 {NSLog (@ "할 일");}
  • 
                  ,
         VC     
    

    / / context JScontext * context = [ webView valueForKeyPath: @ "documentView. webView. mainFrame. avaScriptContext"]; /JSobj * testJO = [JSobj new];context[@"ios_js"] = testJO;
    / / 그 다음 에 js 가 그 에 게 호출 했 습 니 다 - 여기 배경 코드 가 붙 지 않 습 니 다. 직접 oc 로 js 를 호출 하 는 방법 으로 [self. context evaluate Script: @ "ios js. textJSexport With Parameter Two Parameter ('parameter 1', 'parameter 2') 를 호출 합 니 다."]
            。
                   url       ,                       ,       url    。
    
    
    1.                            ,    crash 。
    2.    JSContext         ,           ,                。      -[   ](http://www.jianshu.com/p/a329cd4a67ee)
     ,       。     ,            。

    좋은 웹페이지 즐겨찾기