从Liferay主题中删除main.js

从Liferay主题中删除main.js,liferay,liferay-theme,Liferay,Liferay Theme,我目前正在努力减少页面负载上的请求量。main.js没有在我们的自定义主题中使用,但仍然会被加载 那么,如何删除主题的main.js,以便浏览器不会尝试加载它呢? 在我们的主题中用空文件覆盖它不是一个解决方案(不会减少请求计数)。我可以在以下位置找到main.js实例: 在html/common/themes/bottom.jsp中(通过一个钩子,您可以修改它) 最后,在portal impl/src/VM_liferay.VM中(这在jar文件中,因此您可能希望使用ext-way,但我认为您可

我目前正在努力减少页面负载上的请求量。main.js没有在我们的自定义主题中使用,但仍然会被加载

那么,如何删除主题的main.js,以便浏览器不会尝试加载它呢?
在我们的主题中用空文件覆盖它不是一个解决方案(不会减少请求计数)。

我可以在以下位置找到
main.js
实例:

html/common/themes/bottom.jsp中(通过一个钩子,您可以修改它)

最后,在
portal impl/src/VM_liferay.VM
中(这在jar文件中,因此您可能希望使用ext-way,但我认为您可能不需要对该文件执行任何操作,因为这只是一个定义的宏,您可能需要更改的是如何访问该宏(velocity中的某种函数)以及从何处访问该宏)

#宏(js$file_名称)
#如果($file\u name==$js\u main\u文件)
#否则
#结束
#结束

我不确定修改这些文件是否会提供您想要的行为,但您可以尝试并找到答案。我尚未尝试。

您确定此操作会生成请求吗?我认为main.js是直接附加到jsp服务器端的。能否在浏览器控制台中看到对main.js的特定请求?main.js包含一个标记,浏览器需要加载该标记。我没有写那个标签,LR把它放在了某个很深的地方,我找不到那个点。我怀疑这个主题像portlet一样受到威胁,它包含在top_JS.jspf的portlet JS循环中
<script src="<%= HtmlUtil.escape(PortalUtil.getStaticResourceURL(request, themeDisplay.getPathThemeJavaScript() + "/main.js")) %>" type="text/javascript"></script>
#set ($js_main_file = $htmlUtil.escape($portalUtil.getStaticResourceURL($request, "$javascript_folder/main.js")))
#macro (js $file_name)
    #if ($file_name == $js_main_file)
        <script id="mainLiferayThemeJavaScript" src="$file_name" type="text/javascript"></script>
    #else
        <script src="$file_name" type="text/javascript"></script>
    #end
#end