File tree Expand file tree Collapse file tree 3 files changed +29
-8
lines changed Expand file tree Collapse file tree 3 files changed +29
-8
lines changed Original file line number Diff line number Diff line change @@ -64,7 +64,7 @@ - (void)_sendMessage {
6464}
6565
6666- (void )_callHandler {
67- is data = @{ @" greetingFromObjC" : @" Hi there, JS!" };
67+ id data = @{ @" greetingFromObjC" : @" Hi there, JS!" };
6868 [_bridge callHandler: @" testJavascriptHandler" data: data responseCallback: ^(id response) {
6969 NSLog (@" testJavascriptHandler responded: %@ " , response);
7070 }];
Original file line number Diff line number Diff line change @@ -12,9 +12,18 @@ <h1>WebViewJavascriptBridge Demo</h1>
1212 window . onerror = function ( err ) {
1313 log ( 'window.onerror: ' + err )
1414 }
15- document . addEventListener ( 'WebViewJavascriptBridgeReady' , onBridgeReady , false )
16- function onBridgeReady ( event ) {
17- var bridge = event . bridge
15+
16+ function connectWebViewJavascriptBridge ( callback ) {
17+ if ( window . WebViewJavascriptBridge ) {
18+ callback ( WebViewJavascriptBridge )
19+ } else {
20+ document . addEventListener ( 'WebViewJavascriptBridgeReady' , function ( ) {
21+ callback ( WebViewJavascriptBridge )
22+ } , false )
23+ }
24+ }
25+
26+ connectWebViewJavascriptBridge ( function ( bridge ) {
1827 var uniqueId = 1
1928 function log ( message , data ) {
2029 var log = document . getElementById ( 'log' )
@@ -60,7 +69,7 @@ <h1>WebViewJavascriptBridge Demo</h1>
6069 log ( 'JS got response' , response )
6170 } )
6271 }
63- }
72+ } )
6473 </ script >
6574 < div id ='buttons '> </ div > < div id ='log '> </ div >
6675</ body > </ html >
Original file line number Diff line number Diff line change @@ -50,8 +50,20 @@ To use a WebViewJavascriptBridge in your own project:
5050
51514 ) Finally, set up the javascript side:
5252
53- document.addEventListener('WebViewJavascriptBridgeReady', function onBridgeReady(event) {
54- var bridge = event.bridge
53+ function connectWebViewJavascriptBridge(callback) {
54+ if (window.WebViewJavascriptBridge) {
55+ callback(WebViewJavascriptBridge)
56+ } else {
57+ document.addEventListener('WebViewJavascriptBridgeReady', function() {
58+ callback(WebViewJavascriptBridge)
59+ }, false)
60+ }
61+ }
62+
63+ connectWebViewJavascriptBridge(function(bridge) {
64+
65+ /* Init your app here */
66+
5567 bridge.init(function(message, responseCallback) {
5668 alert('Received message: ' + message)
5769 if (responseCallback) {
@@ -62,7 +74,7 @@ To use a WebViewJavascriptBridge in your own project:
6274 bridge.send('Please respond to this', function responseCallback(responseData) {
6375 console.log("Javascript got its response", responseData)
6476 })
65- }, false )
77+ })
6678
6779Contributors & Forks
6880--------------------
You can’t perform that action at this time.
0 commit comments