2016-09-15 43 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問題的解決方案。