Content management system Hybris CMS驾驶舱-添加Javascript

Content management system Hybris CMS驾驶舱-添加Javascript,content-management-system,hybris,Content Management System,Hybris,我正在使用HybrisCMS驾驶舱(仅作为用户,而不是管理员),我已经构建了一个包含内容槽的页面 然而,我正试图在页面中插入一些JavaScript。我看不出我不想添加JavaScript的地方,我尝试了内联的标记,但它们只是被剥离出来,变成了纯文本 是否有人知道这是可能的,或者我必须要求系统管理员启用某些功能 下面是一个例子: <script type="text/javascript"> function myFunction() { document.body.style.ba

我正在使用HybrisCMS驾驶舱(仅作为用户,而不是管理员),我已经构建了一个包含内容槽的页面

然而,我正试图在页面中插入一些JavaScript。我看不出我不想添加JavaScript的地方,我尝试了内联的
标记,但它们只是被剥离出来,变成了纯文本

是否有人知道这是可能的,或者我必须要求系统管理员启用某些功能

下面是一个例子:

<script type="text/javascript">
function myFunction()
{
document.body.style.backgroundColor="lavender";
<!-- document.write(Date()); -->
alert(document.getElementById("hai"));
}
</script>

函数myFunction()
{
document.body.style.backgroundColor=“lavender”;
警报(document.getElementById(“hai”);
}

事实上,Hybris驾驶舱使用ZK框架,视图是“.zul”文件。

您可以添加javascript,但必须让开发人员对要添加javascript的环境的配置文件(local.properties)进行一些重写

设置如下:

xss.filter.rule.script_fragments=
xss.filter.rule.lonely_script_tags=
xss.filter.rule.lonely_script_tags2=
xss.filter.rule.javascript=

通过这样做,系统将不再剥离这些标签:)

伤寒马蒂是正确的,但要扩展他的答案:

Hybris跨站点脚本(XSS)过滤器正在剥离脚本标记

您可能只想在用户编辑站点的扩展中禁用它,特别是CMSCockpit、HMC和HAC:

hac.xss.filter.enabled=false
hmc.xss.filter.enabled=false
cmscockpit.xss.filter.enabled=false
您可以在以下文档中找到XSS筛选器的更多配置选项:
由@typoid Marty和@kabadisha建议的答案将解决这个问题。在这里添加另一个解决方法。即使xss筛选器配置为
xss.filter.enabled=true
,也可以将脚本添加到组件的内容中。
这可以通过为组件创建一个impex并通过hac将其作为脚本导入并将“Enable code execution”检查为true来实现

这看起来无关紧要。