据我所知,Salesforce CommerceCloud使用Rhino JavaScript,但遗憾的是我找不到它的版本,这对理解compatibility很重要。有没有描述这个的文档,和/或有没有办法输出JavaScript引擎版本?
犀牛1.7R5
我被指向GitHub SFCC community docs 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>