JXBrowser语言 - Array.isArray(exception.getStackTrace()) returni



是否应该返回数组?很难通过对象模仿客户的行为。

实际上,即使window.asObject().setProperty("aaa", new String[]{"bbb"});也不是JavaScript数组。请参阅以下示例:

execute("aaa.splice != null ? 'a' : 'b'")
execute("Arrays.isArray(aaa) ? : 'a' : 'b'")

在UI4J和Rhino中工作正常,但现在不在JxBrowser中。

在jxbrowser中,只有java原始类型被转换为本机JavaScript类型。对于其他类型,您将设置为JSObject的属性映射到相应的Java对象,当您调用JavaScript对象的方法时,Java对象的相应方法实际上被调用。当前实现中的数组存在一些限制,但是,您可以获取数组大小并通过索引访问其成员:

java:

window.setProperty("arr", new String[]{"aaa", "bbb", "ccc"});

javaScript:

var length = window.arr.length();
for (int i = 0; i < length; i++) {
    console.log(window.arr[i]);
}

最新更新