javascript - Java用Rhino调用JS(未定义Uint8Array)

标签 javascript java arrays call rhino

我正在尝试使用Rhino lib从java代码调用一些javascript。但它似乎对类型化数组感到窒息。这是我的简单 js 文件

function decrypt(version, iv, encryptedBuffer) {
    var output8;
    output8 = new Uint8Array(encryptedBuffer);
    var outputBuffer = output8.buffer;
    var output32 = new Int32Array(outputBuffer);
    ... more funny code
}

但是调用时

jsFunction.call(rhino, scope, scope, params);

我明白了

sun.org.mozilla.javascript.internal.EcmaError: ReferenceError: "Uint8Array" is not defined. (JavaScript#5680)

需要额外配置一些东西才能运行我的小 js 片段吗?

最佳答案

你设置了setLanguageVersion(Context.VERSION_ES6)吗? 类型化数组是 Javascript 的新功能。 Rhino 不允许在旧的 js 版本中调用类型化数组。

关于javascript - Java用Rhino调用JS(未定义Uint8Array),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40219226/

相关文章:

java - 如何检查用户是否在按键?

php - php 如何将数组分成2的倍数

javascript - 使用 jquery mobile 的 Android native spinner RTL

javascript - iOS 8.3 Mobile Safari 禁用表情符号渲染

javascript - 我应该从哪里调用警报框、加载窗口 - Controller 或服务

java - Bill Pugh 实现 Singleton 的方法导致 "Out-of-order Write"?

java - 如何将JavaFX gradle项目导出为独立的可执行文件以进行部署?

php - 将格式化数字添加到 MySQL 选择数组

php - 合并多个数组然后按数组值计数排序

Javascript ajax 调用不打开从 url 返回的文件,该文件在从 url 调用时有效