| 初始化OC | 初始化JS |
|
[WebViewJavascriptBridge bridgeForWebView:(UIWebView/WebView*)webview handler:(WVJBHandler)handler]
[WebViewJavascriptBridge bridgeForWebView:(UIWebView/WebView*)webview webViewDelegate:(UIWebViewDelegate*)webViewDelegate handler:(WVJBHandler)handler]
|
document.addEventListener('WebViewJavascriptBridgeReady', function onBridgeReady(event) { ... }, false)
bridge.init(function messageHandler(data, response) { ... })
|
| OC发送消息to JS | JS发送消息to OC |
|
[bridge send:(id)data]
[bridge send:(id)data responseCallback:(WVJBResponseCallback)responseCallback]
|
bridge.send("Hi there!")
bridge.send({ Foo:"Bar" })
bridge.send(data, function responseCallback(responseData) { ... })
|
| OC注册事件(先) | JS调用事件(后) |
|
[bridge registerHandler:(NSString*)handlerName handler:(WVJBHandler)handler]
|
WebViewJavascriptBridge.callHandler("handlerName")
|
| OC调用事件(后) | JS注册事件(先) |
|
[bridge callHandler:(NSString*)handlerName data:(id)data]
[bridge callHandler:(NSString*)handlerName data:(id)data responseCallback:(WVJBResponseCallback)callback]
|
bridge.registerHandler("handlerName", function(responseData) { ... })
|
if (responseCallback ) {
var callbackId = ' cb_ ' + (uniqueId ++ ) + ' _ ' + new Date ( ) . getTime ( )
responseCallbacks [callbackId ] = responseCallback
message [ ' callbackId ' ] = callbackId
}
sendMessageQueue .push (message )
messagingIframe .src = CUSTOM_PROTOCOL_SCHEME + ' :// ' + QUEUE_HAS_MESSAGE
}
8881




被折叠的 条评论
为什么被折叠?



