2016-08-26 1 views
0

Ich benutze JsBridge Bibliothek für die Datenübertragung von Android-Aktivität zu Webview mit JS. Ich schicke Zeichenfolge über MethodeWie übertrage ich String von Java nach JS?

webView.send ("Hallo");

in den Konsolen ich sehe

I/Chrom: [INFO: Konsole (1)] "{" data ":" Hallo "}", Quelle: file: /// android_asset /demo.html

Wie bekomme ich ein "Hallo" von den Daten in demo.html als Textquelle?

Antwort

0
var string="{\"data\":\"hello\"}"; 
var json=JSON.parse(string); 
console.log(json.data);// 'hello' 

Hier Demo-Codes sind von https://github.com/lzyzsd/JsBridge/blob/master/example/src/main/assets/demo.html

function connectWebViewJavascriptBridge(callback) { 
    if (window.WebViewJavascriptBridge) { 
     callback(WebViewJavascriptBridge) 
    } else { 
     document.addEventListener(
      'WebViewJavascriptBridgeReady' 
      , function() { 
       callback(WebViewJavascriptBridge) 
      }, 
      false 
     ); 
    } 
} 

connectWebViewJavascriptBridge(function(bridge) { 
    bridge.init(function(message, responseCallback) { 
     console.log('JS got a message', message); 
     var data = { 
      'Javascript Responds': '测试中文!' 
     }; 
     console.log('JS responding with', data); 
     responseCallback(data); 
    }); 
}) 

message ist das, was Sie wollen.

+0

parse nur var string, nicht Daten von der Konsole – user3852332

+0

Sie möchten also etwas von der Konsole lesen? Die Konsole dient zum Anzeigen von Protokollen, nicht zum Lesen von Code. Ich denke, der Beispielcode in JsBridge ist klar genug um zu verstehen. – troy

Verwandte Themen