OC 와 js 의 상호작용
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');
.m ,
@interface JSObj()
@end
@implementation JSObj
,
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)
, 。 , 。
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.