问题标签 [rhino]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
6958 浏览

java - 如何使用 Rhino 和 Eclipse 从 JavaScript 访问外部 JAR 文件?

我正在使用 Mozilla Rhino 编写一个 JavaScript 服务器应用程序。我想在我的项目中包含 HttpClient 类以轻松访问网络,但我不知道如何配置我的 Eclipse 项目以让 Rhino 加载 HttpClient JAR 文件。

我在 Eclipse 中添加了js.jar(来自 Rhino)和httpclient-4.0.1.jar我的项目的构建路径,并且在我的运行配置中,我从 Rhino 的 js.jar(它找到)中指定了 Main 类,并且在我的 JavaScript 文件中我基本上是这样做的:

它没有说这个:

这怎么会这么难?我一定是在做一些根本错误的事情。

0 投票
1 回答
1103 浏览

javascript - 使用 JNA、Rhino、JavaScript 分配 char 缓冲区

在 Narwhal 中,我们使用 JNA 来libc调用getcwdchdir. 我只能在对 JNA 接口了解有限的情况下使用它,因为它与 Rhino 中的 JavaScript 相关,专门处理原语。我需要知道如何分配一个 char 缓冲区,以便我可以将它传递给getcwd,从该缓冲区中检索一个 JavaScript 字符串,并取消分配缓冲区,大概是在一个finally子句中。

下面是我们如何抓取libc界面:

http://github.com/280north/narwhal/blob/34ac15261fa4acdef3867256e97d7aabb94766e0/engines/rhino/lib/fs-base.js#L32-42

下面是如何chdir实现的:

http://github.com/280north/narwhal/blob/34ac15261fa4acdef3867256e97d7aabb94766e0/engines/rhino/lib/fs-base.js#L438-444

这是我们需要解决方案的地方getcwd

http://github.com/280north/narwhal/blob/34ac15261fa4acdef3867256e97d7aabb94766e0/engines/rhino/lib/fs-base.js#L416-419

Ruby 或任何其他 JNA 嵌入式语言的解决方案会有所帮助。

0 投票
4 回答
34098 浏览

javascript - Javascript 引擎的优势

我现在对 JavaScript 引擎感到困惑。我知道V8很重要,因为它将 JavaScript 编译为本机代码。

然后我开始阅读有关Mozilla SpiderMonkey的信息,据我了解,它是用 C 语言编写的,可以编译 JavaScript。那么这与 V8 有何不同,如果这是真的,为什么 Firefox 不这样做呢?

最后,Rhino是否真的将 JavaScript 编译为 Java 字节码,以便您获得 Java 的所有速度优势?如果不是,为什么人们在桌面上编写脚本时不运行 V8?

0 投票
1 回答
1157 浏览

javascript - Rhino JavaScript 和动态范围 var 创建

我试图在 Rhino JavaScript 的函数中定义一个动态变量(特别是嵌入在 Java 6 中的),但我不想求助于 eval,也不想通过 this 引用它。基本上,我想获取一个对象,并将每个属性转换为函数范围内的 var ......类似于:

信不信由你,如果我必须使用“this”,这很重要。(它是一个动态生成的函数,我想用不同的上下文对象一遍又一遍地调用它,并且对每个变量使用“this”将是非常有害的)。

我还想避免必须获取新的引擎上下文或类似的东西......如果我可以直接在 JavaScript 中执行此操作,那就太好了(我认为结果会明显更快)。

0 投票
1 回答
698 浏览

.net - 将 Rhino Security 与 Asp.net 会员提供商集成

Rhino 的安全性如何与 asp.net 会员提供商结合?我问的原因是因为 AFAIK 如果我需要使用属性[Authorize],那么我应该实现或扩展 asp.net 成员资格提供程序。

就我而言,我需要的不仅仅是 asp.net 会员提供者给我的东西。Rhino Security 非常适合这种情况。但我还需要框架提供的属性(和其他)功能(这反过来又减轻了我为我的应用程序建立良好安全模型的痛苦)。

编辑:改写问题。

如何将 Rhino Security 与 asp.net 成员资格集成,以便我可以进行基于角色/级别的授权?

0 投票
2 回答
1704 浏览

eclipse-plugin - 使用 Rhino 编写 Eclipse 脚本:类加载器属于提供 Rhino 的插件,而不是使用它的插件

我正在使用 Rhino 编写 Eclipse (RCP) 应用程序的脚本。问题是,从 Javascript 我只能访问提供 Rhino 的插件可用的类,而不是运行脚本的插件可用的所有类。

显而易见的答案是将 Rhino 放在脚本插件中,但这不起作用,因为它已经由应用程序自己的插件之一提供(它也提供了我需要编写脚本的东西)并且 Eclipse 总是使用这个版本而不是版本近在咫尺。

  • 有没有办法改变 Rhino 使用的类加载器
  • 或者是否可以确保 Eclipse 从一个插件而不是另一个插件加载 Rhino 类?

感谢 Thilo 的回答,我使用了这个:

0 投票
3 回答
9432 浏览

javascript - 如何在不使用 setTimeout 的情况下异步运行 javascript 函数?

它是服务器端 Javascript(犀牛引擎),因此 setTimeout 不可用。如何异步运行函数?

0 投票
1 回答
373 浏览

javascript - Rhino object browser

I'm looking for an object browser (in sense of smalltalk class browser) either desktop or better through web, for Rhino. Could anybody point me to such?

0 投票
1 回答
3396 浏览

javascript - 在 Rhino 中加载当前文件的相对路径上的文件

我正在 Rhino 中编写一个 JavaScript 程序,它需要加载其他 JavaScript 文件。但是,内置load()函数相对于当前目录加载文件,我需要相对于脚本的位置加载它们(以便可以从任何目录调用程序)。

在其他语言中,我会使用类似的东西dirname(__FILE__) + "/path/file",但似乎 Rhino 没有__FILE__或类似的东西。我试图从抛出的异常中提取当前文件,但它是空的,即以下代码打印“true”:

我试图查看解释器源代码并使用 Java-JavaScript 桥,但我还没有发现任何有用的东西(我可能会看更多)。

有没有人有提示如何在相对路径上加载文件?

0 投票
1 回答
171 浏览

javascript - rhino 服务器端 js 许可

rhino 未来有什么计划将许可更改为 lgpl?目前它是 gpl,也意味着如果我们使用它,我们需要开源我们的应用程序,对吗?