1

jxBrowser の最新バージョンでは、JSContext に createObject() メソッドが導入されています。Java から直接 String (またはその他の型) を作成したいと考えています。createObject メソッドを使用してそれを行うにはどうすればよいですか?

空のオブジェクトを問題なく作成でき、そのプロパティを設定することもできますが、文字列や配列、またはその他の型を作成する方法がわかりません。

助けてくれてありがとう!

4

2 に答える 2

1

現在、JSContext では Java から JavaScript オブジェクトのみを作成できます。String または Array を作成する必要がある場合は、次の方法を使用できます。

JSValue value = browser.executeJavaScriptAndReturnValue("'this is my string'");
JSString jsString = value.asString();
于 2016-10-07T11:17:43.060 に答える
0

少しハッキングしてみました...

やっている:

obj = jscontext.createObject()
obj.setProperty("constructor", Array)
obj.setProperty("__proto__", Array)

JSArray ではありませんが、JavaScript の配列のように機能するオブジェクトを作成します (このオブジェクトで eval を呼び出す場合)。

このアプローチは String では機能しません。String は特別なタイプのコンストラクターだと思います。

于 2016-10-07T14:57:07.477 に答える