1

据我了解,Salesforce CommerceCloud 使用Rhino JavaScript,但遗憾的是我找不到它是什么版本,这对于理解兼容性很重要。是否有任何文档描述了这一点,和/或有没有办法输出 JavaScript 引擎版本?

4

2 回答 2

6

犀牛1.7R5

我在GitHub SFCC community docs FAQ (requires login)上被指出了一个答案,该答案引用了 2016 年论坛上的官方帖子:

... 支持的语言方言 Demandware Javascript 是 Rhino Javascript(目前 Rhino 发布 1.7R5) ...

于 2019-01-29T21:27:25.283 回答
0

如果该产品允许您直接执行 JavaScript 代码,那么(可能,除非他们以特定方式对其进行配置,例如,ClassShutter禁用对某些 Java 类的脚本访问)获取 Rhino 版本的方法。以下将版本返回为java.lang.String

Packages.org.mozilla.javascript.Context.getCurrentContext().getImplementationVersion()

String您可以使用全局函数将其转换为 JavaScript 字符串:

var jlsVersion = Packages.org.mozilla.javascript.Context.getCurrentContext().getImplementationVersion();
var jsStringVersion = String(jlsVersion);

编辑海报指出这是一个云服务,不是本地安装,所以js.jar不可用,下面的方法也无济于事。我留下这个答案,因为它可能与通过搜索找到这个问题的其他人有关。

假设他们分发 Rhino JAR 文件(通常称为js.jar),并且您可以找到它,您也可以直接执行它(它会输出版本并带您进入交互式 JavaScript 提示符)。这是我机器上的副本(在 Salesforce 之外):

$ java -jar js.jar
Rhino 1.7 release 3 2011 05 09
js> 
于 2019-02-20T00:16:35.697 回答