gpt4 book ai didi

java - CQ5 移除渲染阻塞的 JavaScript

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:11:39 25 4
gpt4 key购买 nike

我正在编写此文档以删除阻塞 js:

Remove Blocking JS

但是对于 CQ5,我们通过以下方式包含 js:

<cq:includeClientLib js="headlibs"/>

如何修改脚本标签:

<script async src="my.js">

所以我可以删除阻塞的 JS。

最佳答案

cq:includeClientLib没有任何选项可以执行此操作。您可以尝试使用 com.day.cq.widget.HtmlLibraryManager获取JS文件路径的接口(interface),标签是a是这个接口(interface)的便捷包装。

com.day.cq.widget.HtmlLibraryManager clientlibmanager = sling.getService(com.day.cq.widget.HtmlLibraryManager.class);
if(clientlibmanager != null)
{
String[] categoryArray = {"headlibs"};
java.util.Collection<com.day.cq.widget.ClientLibrary> libs = clientlibmanager.getLibraries(catArray,com.day.cq.widget.LibraryType.JS,false,false);
for(com.day.cq.widget.ClientLibrary lib : libs) {
out.write("<script async type=\"text/javascript\" src=\""+lib.getIncludePath(com.day.cq.widget.LibraryType.JS)+"\"></script>");
}

} else {
out.write("clientlib manager is null");
}

getIncludePath() 方法还采用一个附加参数 minified( boolean 值)来提供缩小文件的路径。

关于java - CQ5 移除渲染阻塞的 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27184337/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com