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