2016-09-15 78 views
2

出版商实例已包含以下JavaScript文件笔者例如JavaScript的停止AEM:如何从包括在发布实例

  • /etc/clientlibs/granite/jquery.min.js
  • 的/ etc/clientlibs /花岗岩/ utils.min.js
  • /etc/clientlibs/granite/jquery/granite.min.js
  • /etc/clientlibs/foundation/main.min.js
  • 的/ etc/clientlibs /花岗岩/jquery/granite/csrf.min.js

这将是最好的排除他们的表现,也是我使用jQuery 2.0作为我的一部分AEM网站的事实。

+0

这些不一定是作者特定于实例的脚本。 – Abhishek

+0

好吧,如果不是,至少可以删除/etc/clientlibs/granite/jquery.min.js。我不使用它作为我的项目的一部分。 – Sid

回答

0

你看到什么是clientcontext相关js'es

加载给定js'es是因为下面的脚本(或某事similiar)

<cq:include path="clientcontext" resourceType="cq/personalization/components/clientcontext"/>

要么你完全排除它发布(wcmMode = disabled)这可能会破坏与发布时的分析相关的内容,或将include更改为您将开发的clientcontext组件的一些覆盖。

如果你不使用任何原生Adobe集成,只要排除这个东西就应该是安全的。

1

这些脚本(不包括csrf.min.js)是类别cq.foundation-main的一部分。你可以使用这个工具来检查它。
http://localhost:4502/libs/granite/ui/content/dumplibs.test.html?categories=cq.foundation-main

如果通过延长OOTB wcm/foundation/components/page创建你的页面模板组件(假设你使用悦目),AEM将在头部分添加这些脚本。更具体地说,这些包含在OOTB页面组件下的headlibs.html文件中。

为了克服这个问题,你可以在你的组件中覆盖这个文件,并且可以在下面的行注释或者只有在编辑wcmmode时才有条件地包含它。
<sly data-sly-test="${wcmmode.edit}" data-sly-call="${clientLib.all @ categories='cq.foundation-main'}" />

对于基于JSP组件(foundation/components/page),同样的事情在headlibs.jsp完成。

顺便说一下,你不想删除CSRF JS。这是AEM解决CSRF问题的解决方案。