Salesforce Commerce Cloud 使用哪个版本的 Rhino JavaScript?

What version of Rhino JavaScript does Salesforce Commerce Cloud use?

据我了解,Salesforce CommerceCloud 使用 Rhino JavaScript, but sadly I cannot find what version it is, which is important for understanding compatibility。有没有描述这个的文档,and/or 有没有办法输出 JavaScript 引擎版本?

犀牛 1.7R5

有人指出我在 GitHub SFCC community docs FAQ (需要登录) 上的一个答案,其中引用了 2016 年论坛上的官方 post:

... the supported language dialect Demandware Javascript is Rhino Javascript (currently Rhino release 1.7R5) ...

如果产品允许您直接执行 Java脚本代码,则有(可能,除非他们以特定方式配置它,例如,使用 ClassShutter 禁用脚本访问某些Java 类) 获取 Rhino 版本的方法。下面将return版本作为java.lang.String:

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

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

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

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

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

$ java -jar js.jar
Rhino 1.7 release 3 2011 05 09
js>