jxBrowser的最后一个版本在JSContext中引入了createObject()方法。我想直接从java创建一个String(或其他类型)。如何使用createObject方法执行此操作?
我能够创建一个没有问题的空对象甚至设置它的属性,但我不知道如何创建一个String或Array或任何其他类型。
感谢您的帮助!
答案 0 :(得分:1)
现在JSContext只允许从Java创建JavaScript对象。如果需要创建String或Array,则可以使用以下方法:
JSValue value = browser.executeJavaScriptAndReturnValue("'this is my string'");
JSString jsString = value.asString();
答案 1 :(得分:0)
我只是试图破解它......
这样做的:
obj = jscontext.createObject()
obj.setProperty("constructor", Array)
obj.setProperty("__proto__", Array)
将在javascript中创建一个类似于Array的对象(如果在此对象上调用eval),尽管它不是JSArray。
此方法不适用于String。我猜String是一种特殊类型的构造函数。