我目前正在努力减少页面加载时的请求数量。 main.js未在我们的自定义主题中使用,但仍会被加载。
那么如何删除主题的main.js,以便浏览器不会尝试加载它? 在我们的主题中用空文件覆盖它不是解决方案(不会减少请求数)。
答案 0 :(得分:1)
我可以在以下地方找到main.js
个实例:
在html/common/themes/bottom.jsp
中,(使用钩子可以修改此内容)
<script src="<%= HtmlUtil.escape(PortalUtil.getStaticResourceURL(request, themeDisplay.getPathThemeJavaScript() + "/main.js")) %>" type="text/javascript"></script>
在/themes/_unstyled/templates/init.vm
中(在您的自定义主题init_custom.vm
中,您可以更改此变量)
#set ($js_main_file = $htmlUtil.escape($portalUtil.getStaticResourceURL($request, "$javascript_folder/main.js")))
最后在portal-impl/src/VM_liferay.vm
(这是在jar文件中,所以你可能想要使用ext方式,但我认为你可能不需要对这个文件做任何事情,因为这只是一个定义的宏,你可能想要改变的是如何访问这个宏(速度函数的类型)以及访问它的位置
#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
我不确定修改这些文件是否会提供您想要的行为,但您可能会尝试找出答案。我还没有尝试过。