【问题标题】:Execute javascript function from java从java执行javascript函数
【发布时间】:2011-11-28 09:45:16
【问题描述】:

我想知道是否可以从 java 执行 javascript 函数。基本上我有一个 javascript 函数,我想向它传递一个字符串,然后从该函数获取输出。

如果可能,我该如何完成?

编辑 -

我找不到解决方案,我所做的是用 Java 重新编写所有 javascript 代码。但我猜,移植到 Android 上的 Rhino 应该可以解决问题。如果有人尝试过,请发布解决方案。

【问题讨论】:

  • 你也标记了android,你想在你的android设备上调用一个JS函数吗?
  • 请不要在标题中标记您的问题,这是正常标记的用途。
  • 但它具有误导性。无论如何谢谢

标签: java javascript android


【解决方案1】:

您可能想看看ScriptEngine。有很多关于如何使用它的示例。适用于除 Mac 以外的任何设备,由于某种原因,他们默认选择包含 AppleScript 而不是 JavaScript。

编辑:看看this page,那里似乎有一个适用于Android的Rhino端口。

【讨论】:

  • 可能不是(请参阅*.com/questions/1454425),从技术上讲,Android 没有 JVM,而是有一个 DalvikVM。我不知道 ScriptEngine 是否是其中的一部分,但我想如果不是的话,有可能把 Rhino 带过来(这是它的基础),
【解决方案2】:

Java 本身不支持 JavaScript。如果您需要,您可以实现Rhino javascript 引擎来执行此操作。

“Rhino 是完全用 Java 编写的 JavaScript 的开源实现。它通常嵌入到 Java 应用程序中,为最终用户提供脚本。”

【讨论】: