据我了解,Salesforce CommerceCloud使用Rhino JavaScript,但遗憾的是我找不到它是什么版本,这对于理解兼容性很重要。是否有任何文档描述这一点,和/或是否有办法输出 JavaScript 引擎版本?
Rhino 1.7R5
有人指出了GitHub SFCC社区文档FAQ(需要登录)上的一个答案,其中引用了2016年论坛上的官方帖子:
。支持的语言方言 Demandware Javascript 是 Rhino Javascript(目前 Rhino 版本 1.7R5) ...
如果产品允许你直接执行 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>