从Liferay Theme中删除main.js

时间:2014-10-09 09:24:21

标签: liferay liferay-theme

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

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

1 个答案:

答案 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

我不确定修改这些文件是否会提供您想要的行为,但您可能会尝试找出答案。我还没有尝试过。