我们的团队目前正在考虑使用哪个JavaScript Engine Bridge。我们在LiquidCore和J2V8之间进行选择。
我的问题是关于j2v8。据说,我必须在JavaScript中创建一些java类的实例,如何使用标准实例化注释(new ClassName())在j2v8
中实现这一点?在liquidcore中,您可以使用超级构造函数绑定一些扩展 JSFuction 的类:
JSFunction(JSContext ctx, final String methodName, final Class<?extends JSObject> instanceClass)
并使用所需的类名注册属性,如下所示:
jsBaseContext.getJsContext().property("WebSocket", this);
然后打电话:
var x = new WebSocket();
java方法 methodName 将触发,我们将新的 instanceClass 作为 JSValue 对象作为参数,已经绑定并准备好在的JavaScript。
答案 0 :(得分:0)
由于没有人会讨论这个话题,我会自己回答。 目前,官方J2V8版本中未添加此功能,但Mizumi's pull request上有一个分支。所以,看看,如果你遇到类似的问题。