问题标签 [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 投票
1 回答
1188 浏览

java - 如何在 Java 中指定我自己的 Rhino 上下文?

我试图确保我的 Rhino 脚本(在 Java 6 下运行)是严格的,这样如果脚本开发人员拼错了一个表达式,我希望抛出一个异常。目前发生的是表达式简单地计算为“未定义”。

现在根据 Mozilla org https://developer.mozilla.org/en/New_in_Rhino_1.6R6,有一些功能可以在上下文中启用严格检查。我找不到一个可行的例子。

到目前为止,我所做的是编写一个类来扩展 ContextFactory,然后重写 hasFeature 方法。

然后在 Main 我将我的设置为默认值。

我得到一个非法的状态异常。:(

关于它如何工作的任何想法或示例?

TIA

0 投票
2 回答
312 浏览

mocking - 使用 Rhino Mocks 去除公有函数中私有函数的依赖

我是 mocking 新手,并且从 Rhino Mocks 开始。我的场景是这样的。在我的类库中,我有一个公共函数,在其中我有一个私有函数调用,它从服务中获取输出。我想删除私有函数依赖项。

不过,这不是我的真实场景,我只是想知道如何删除 GetMiddleName() 函数的依赖关系,并且我需要在单元测试时返回一些默认值。

注意:我将无法在这里更改私有函数..或包含接口..保留这些函数,有没有办法模拟这个。谢谢

0 投票
1 回答
1985 浏览

java - JDK6 脚本引擎中是否有对 JSON 的“本机”支持?

我正在使用JDK6标准脚本。我需要存储和检索一些也包含 Java 对象到 JSON 的 JavaScript 对象。我将 json2.js 加载到 ScriptENgine 中,如果所有对象都是在 Scrip Engine 中创建的,则可以毫无问题地使用它。当我尝试使用自己的 Java 类时,我得到了一些错误,例如“对象不支持 toJSON”错误。

我在 Java Scripting / Rhino 上下文中没有找到太多关于 JSON 的信息。

我做错了什么吗?实现要求的最佳方法是什么?

0 投票
2 回答
690 浏览

javascript - JavaScript 窗口对象元素属性

一位同事向我展示了以下代码并问我为什么它有效。

我解释说,当浏览器解析包含对适当 dom 节点的引用的文档时,属性会附加到带有元素 id 名称的窗口对象。这有点像window.myspan = document.getElementById("myspan")在渲染页面时在幕后调用。

在随后的讨论中,我们提出了几个问题:

  • 窗口对象和大部分 DOM 不是官方 JavaScript/ECMA 标准的一部分,但上述行为是否记录在任何其他官方文献中,可能与浏览器相关?

  • 以上在浏览器(至少是主要竞争者)中有效,因为有一个窗口对象,但在 rhino 之类的东西中失败了。编写依赖于这种被认为是不好的做法的代码是因为它对执行环境做出了太多假设吗?

  • 是否有任何浏览器会出现上述问题,或者这是否被认为是全面的标准行为?

这里有没有人知道这些问题的答案并愿意启发我?我尝试了快速的互联网搜索,但我承认我不确定如何正确表达查询。欢迎提供参考资料和文档。

0 投票
2 回答
949 浏览

javascript - 快速查看 Rhino Shell 中的对象(PHP var_dump 等价物?)

在 Rhino 中是否有比每次都输入更好的调试方法?:

更新:需要明确的是,我的问题是关于这个主题是否有任何现有的标准实践/模块/技巧。

0 投票
4 回答
8974 浏览

java - 如何将 javaScript 函数传递给 Java 方法以充当回调 (Rhino)

基本上我试图将一个javascript函数传递给一个Java方法来作为脚本的回调。

我可以做到——有点——但我收到的对象是 sun.org.mozilla.javascript.internal.InterpretedFunction,我看不到调用它的方法。

有任何想法吗?

这是我到目前为止所拥有的:

0 投票
4 回答
2326 浏览

java - 代替在具有实际文件名的 Java Rhino (JSR223) 中

在我的代码中,所有脚本都包含在 .js 文件中。每当其中一个脚本包含错误时,我都会得到以下信息:

javax.script.ScriptException: sun.org.mozilla.javascript.internal.EcmaError: ReferenceError: "nonexistant" 未定义。(<Unknown source>#5) 在 <Unknown source> 的第 5 行

让我烦恼的是<未知来源>。多个文件在一个 ScriptContext 中,很难找到错误。它看起来也很可怕。

有没有办法用实际文件名替换 <Unknown Source> ?我看到的方法都不支持传递 File 对象,所以我在这里真的很困惑。

0 投票
1 回答
530 浏览

javascript - 在 E4X 中过滤

这只是一个简单的问题。我目前正在使用 Mozilla 的 Rhino 开发一个小的 webapp。作为一个步骤,我需要获取一个网页并过滤它的所有节点。为此,我使用 E4X。我以为我可以这样做:

但这会产生错误。它是如何正确完成的?

(顺便说一句:这只是提高性能的一步。代码已经做得很好,只是有点慢。)

0 投票
1 回答
140 浏览

rhino - Rhino - 在代码中设置 FEATURE_LOCATION_INFORMATION_IN_ERROR?

我希望 Rhino 自动为任何错误提供文件名、行号和堆栈跟踪。

有人告诉我,我需要在当前上下文中设置 FEATURE_LOCATION_INFORMATION_IN_ERROR,但我不确定如何在代码中执行此操作。

是否有人有打开此功能的示例,以便我可以看到崩溃时的堆栈跟踪转储?

我将 Rhino 用作 Narwhal/Jack 的一部分,这使事情变得有点复杂,我认为至少向前迈进的最简单方法是如果我可以通过代码进行设置。

谢谢。

0 投票
1 回答
183 浏览

javascript - 修复 JS 中的内部链接

我刚刚创建了一个脚本,它通过服务器端 JS 从网页中提取文章。(如果您有兴趣:它用于http://pipes.yahoo.com/fb55/expandr。)

我只是在内部链接方面遇到了一点问题。某些页面包含以下链接:

我需要做的是修复它们并在那里设置根,如下所示:

我正在使用 E4X 来处理页面。我不想展示我目前令人毛骨悚然的尝试,它有问题而且很慢。有人对我有解决方案吗?