Ich versuche, Javascript in Android laufen zu lassen und fand heraus Rhino und Duktape bietet die Funktionalität, ohne ein WebView zu laufen. Aber es scheint, als ob keiner von ihnen einen klaren Weg hat, eine variable Anzahl von Schlüssel-Wert-Paaren als Argument in meine js-Funktion zu übergeben. Das Argument würde wie folgt aussehen:Wie man Javascript in Android laufen lässt und in einer Karte als Argument übergibt
{"device":"android", "version":"4.4", "country":"US",...}
und die Seite js aussehen würde wie
function calculate(param) {
var country = 'country';
var device = 'device';
if (country in param && param[country]=='US') {
return "a";
};
if (device in param && param[device]=="android") {
return "b";
} else {
return "c";
}
}
Gibt es eine Abhilfe?
Ah, also was Sie getan haben ist die aufrufende Methode und params direkt in die Auswertungszeichenfolge, das ist schlau, aber wird es nicht Leistungsproblem, wenn ich mehrmals mit der gleichen Methode, aber anderen Parametern ausführen möchte? –
@arthur li: Ich denke, wir nähern uns Ihrem ursprünglichen Problem. Könnte es sein, dass Sie versucht haben, Ihr param-Argument als JSON-String anstelle eines Objekts zu übergeben? – flyingfridge