WebViewJavascriptBridge 는 JS 와 OC 의 상호 호출 을 실현 합 니 다.
준비 작업
{ WebViewJavascriptBridge *_bridge; } @property(nonatomic, strong)UIWebView *webView;
는 WebView JavascriptBridge 코드 를 다음 과 같이 초기 화 합 니 다 [WebViewJavascriptBridge enableLogging];// _bridge = [WebViewJavascriptBridge bridgeForWebView:self.webView webViewDelegate:self handler:^(id data, WVJBResponseCallback responseCallback) { }];
. 이로써 JS 와 OC 가 서로 호출 하 는 환경 을 설정 하고 그 다음 에 어떻게 호출 하 는 지 설정 합 니 다.JS 호출 OC
[_bridge registerHandler:@"backAction" handler:^(id data, WVJBResponseCallback responseCallback) { //ToDo }
html 에 단추 가 있 는 id 는 backicon 입 니 다. 단 추 를 눌 렀 을 때 OC 코드 $('#backicon').click(function() { setupWebViewJavascriptBridge(function(bridge) {
bridge. callHandler ('backAction', function response Callback (response Data) {}) 를 호출 합 니 다.}});
$기 호 는 jQuery 를 나타 내 는데 여 기 는 약자 형식 입 니 다.OC 호출 JS
bridge.registerHandler('testJavascriptHandler', function(data, responseCallback) {
log ('ObjC called testJavascriptHandler with', data) var response Data = {'Javascript Says':' Right back atcha! '} log (' JS responsing with ', responseData) responseCallback (responseData)} testJavascriptHandler JS , OC
[ bridge callHandler: @' testJavascriptHandler 'data: @ {@ @"foo":@"before ready" }];` 출력 로 그 를 쉽게 보기 위해 로그 방법 을 사 용 했 습 니 다. 이 방법 은 이렇게 정의 되 었 습 니 다
var uniqueId = 1 function log(message, data) { var log = document.getElementById('log') var el = document.createElement('div') el.className = 'logLine' el.innerHTML = uniqueId++ + '. ' + message + ':
' + JSON.stringify(data) if (log.children.length) { log.insertBefore(el, log.children[0]) } else { log.appendChild(el) } }
WebViewJavascriptBridge 에 대해 더 알 고 싶 으 신 분 들 은 아래 연결 을 클릭 하여 github 에 가서 WebViewJavascriptBridge 에 대해 자세히 알 아 보 세 요.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.