我们的团队目前正在考虑使用哪个JavaScript引擎桥。我们在LiquidCore和J2V8之间进行选择。
我的问题与j2v8有关。假设我必须在JavaScript中创建某个Java类的多个实例,如何在j2v8
中使用标准实例化注释(新的ClassName())实现这一点?在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中使用。
最佳答案
由于没有人要讨论这个话题,所以我会回答自己。
当前不认为此功能已在J2V8官方发行版中添加,但是Mizumi's pull request上有一个分支。因此,如果您遇到过类似的问题,请看一下。
关于javascript - j2v8:创建绑定(bind)对象的新实例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45800077/