2017-11-23 10 views
0

JavaからJavaScript関数を呼び出し、オブジェクトに関数を渡したいと思います。私が望むのは、JxBrowser JSFunction.invoke with object

JSObject obj = new JSObject(); obj.setString("property1", "value); obj.setNumber("property2", number); のようなものです.JSFunction.invoke()メソッドを使ってオブジェクトをJavaScript関数に渡します。しかし、JSObjectにはデフォルトのコンストラクタや "setString"のようなメソッドはありません。 JSONStringの場合も同様です。

私はGoogle GSonライブラリを使用してJSON文字列を作成しました。この文字列を「新しいJSONString()」に渡しました。あなたはもっと良い方法がありますか?

私は、この解決策を発明するのではなく、この点に対処していただきたいと思います。私は時間を費やしたかったものではありません。ここで

答えて

0

は、オブジェクトを作成し、そこにいくつかのプロパティを設定する方法を示すコードサンプルです:

Browser browser = new Browser(); 

browser.executeJavaScript("function foo(object) { console.log(object.property1); }"); 

JSObject object = browser.executeJavaScriptAndReturnValue("new Object()").asObject(); 
object.setProperty("property1", "value 1"); 
object.setProperty("property2", 15); 

JSFunction function = browser.executeJavaScriptAndReturnValue("window.foo") 
     .asFunction(); 
function.invoke(null, object); 
関連する問題