问题标签 [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.
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 文件中我基本上是这样做的:
它没有说这个:
这怎么会这么难?我一定是在做一些根本错误的事情。
javascript - 使用 JNA、Rhino、JavaScript 分配 char 缓冲区
在 Narwhal 中,我们使用 JNA 来libc
调用getcwd
和chdir
. 我只能在对 JNA 接口了解有限的情况下使用它,因为它与 Rhino 中的 JavaScript 相关,专门处理原语。我需要知道如何分配一个 char 缓冲区,以便我可以将它传递给getcwd
,从该缓冲区中检索一个 JavaScript 字符串,并取消分配缓冲区,大概是在一个finally
子句中。
下面是我们如何抓取libc
界面:
下面是如何chdir
实现的:
这是我们需要解决方案的地方getcwd
Ruby 或任何其他 JNA 嵌入式语言的解决方案会有所帮助。
javascript - Javascript 引擎的优势
我现在对 JavaScript 引擎感到困惑。我知道V8很重要,因为它将 JavaScript 编译为本机代码。
然后我开始阅读有关Mozilla SpiderMonkey的信息,据我了解,它是用 C 语言编写的,可以编译 JavaScript。那么这与 V8 有何不同,如果这是真的,为什么 Firefox 不这样做呢?
最后,Rhino是否真的将 JavaScript 编译为 Java 字节码,以便您获得 Java 的所有速度优势?如果不是,为什么人们在桌面上编写脚本时不运行 V8?
javascript - Rhino JavaScript 和动态范围 var 创建
我试图在 Rhino JavaScript 的函数中定义一个动态变量(特别是嵌入在 Java 6 中的),但我不想求助于 eval,也不想通过 this 引用它。基本上,我想获取一个对象,并将每个属性转换为函数范围内的 var ......类似于:
信不信由你,如果我必须使用“this”,这很重要。(它是一个动态生成的函数,我想用不同的上下文对象一遍又一遍地调用它,并且对每个变量使用“this”将是非常有害的)。
我还想避免必须获取新的引擎上下文或类似的东西......如果我可以直接在 JavaScript 中执行此操作,那就太好了(我认为结果会明显更快)。
.net - 将 Rhino Security 与 Asp.net 会员提供商集成
Rhino 的安全性如何与 asp.net 会员提供商结合?我问的原因是因为 AFAIK 如果我需要使用属性[Authorize]
,那么我应该实现或扩展 asp.net 成员资格提供程序。
就我而言,我需要的不仅仅是 asp.net 会员提供者给我的东西。Rhino Security 非常适合这种情况。但我还需要框架提供的属性(和其他)功能(这反过来又减轻了我为我的应用程序建立良好安全模型的痛苦)。
编辑:改写问题。
如何将 Rhino Security 与 asp.net 成员资格集成,以便我可以进行基于角色/级别的授权?
eclipse-plugin - 使用 Rhino 编写 Eclipse 脚本:类加载器属于提供 Rhino 的插件,而不是使用它的插件
我正在使用 Rhino 编写 Eclipse (RCP) 应用程序的脚本。问题是,从 Javascript 我只能访问提供 Rhino 的插件可用的类,而不是运行脚本的插件可用的所有类。
显而易见的答案是将 Rhino 放在脚本插件中,但这不起作用,因为它已经由应用程序自己的插件之一提供(它也提供了我需要编写脚本的东西)并且 Eclipse 总是使用这个版本而不是版本近在咫尺。
- 有没有办法改变 Rhino 使用的类加载器
- 或者是否可以确保 Eclipse 从一个插件而不是另一个插件加载 Rhino 类?
感谢 Thilo 的回答,我使用了这个:
javascript - 如何在不使用 setTimeout 的情况下异步运行 javascript 函数?
它是服务器端 Javascript(犀牛引擎),因此 setTimeout 不可用。如何异步运行函数?
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?
javascript - 在 Rhino 中加载当前文件的相对路径上的文件
我正在 Rhino 中编写一个 JavaScript 程序,它需要加载其他 JavaScript 文件。但是,内置load()
函数相对于当前目录加载文件,我需要相对于脚本的位置加载它们(以便可以从任何目录调用程序)。
在其他语言中,我会使用类似的东西dirname(__FILE__) + "/path/file"
,但似乎 Rhino 没有__FILE__
或类似的东西。我试图从抛出的异常中提取当前文件,但它是空的,即以下代码打印“true”:
我试图查看解释器源代码并使用 Java-JavaScript 桥,但我还没有发现任何有用的东西(我可能会看更多)。
有没有人有提示如何在相对路径上加载文件?
javascript - rhino 服务器端 js 许可
rhino 未来有什么计划将许可更改为 lgpl?目前它是 gpl,也意味着如果我们使用它,我们需要开源我们的应用程序,对吗?