IOS JS 호출 OC
이제 WKScriptMessage Handler 를 사용 해 야 돼 요.
// .m
@property (nonatomic ,strong)WKUserContentController * userCC;
//1 WKScriptMessageHandler
//2
WKWebViewConfiguration * config = [[WKWebViewConfiguration alloc]init];
self.wkWebViw = [[WKWebView alloc]initWithFrame:self.view.bounds configuration:config];
[self.wkWebViw loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:self.webPageUrl]]];
[self.view addSubview:self.wkWebViw];
self.userCC = config.userContentController;
[self.userCC addScriptMessageHandler:self name:@"callOSX"];
// JS callFunction
[self.userCC addScriptMessageHandler:self name:@"callFunction"];
// JS callFunction , WKScriptMessageHandler
#pragma mark WKScriptMessageHandler delegate
- (void)userContentController:(WKUserContentController *)userContentController didReceiveScriptMessage:(WKScriptMessage *)message
{
// , message.name (‘ callFunction’), message.body JS
}
// , VC handler
-(void)dealloc
{
[_userContentController removeScriptMessageHandlerForName:@"callFunction"];
}
// JS
<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">buttonClick</span><span class="hljs-params">(string)</span>{</span>
<span class="hljs-comment">//JS OC, </span>
<span class="hljs-comment">//(window.webkit.messageHandlers.Method_Name.postMessage(parameterToOC))</span>
window.webkit.messageHandlers.callFunction.postMessage(string)
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Docker를 사용한 React 및 .NET Core 6.0 샘플 프로젝트 - 2부이 문서에서는 React Js 애플리케이션을 만들고 ASP.NET Core Web API 요청을 사용하여 영화 데이터를 가져오는 방법을 설명합니다. ASP.NET Core Web API를 생성하려면 이전 기사를 참조...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.