外部JS没有加载到liferay 7 GA4中

时间:2017-11-14 08:15:47

标签: javascript liferay-7 liferay-theme spring-portlet-mvc liferay-dxp

我在主题和portlet中添加了外部JS,但JS没有加载第一次页面加载。

我正在使用以下代码:

<drawer [options]="drawerOptions"></drawer>

请帮帮我。

1 个答案:

答案 0 :(得分:0)

按照给定的Liferay L7 GA4版本

请按照以下步骤操作:

打开控制面板,导航至配置→系统设置。

点击“基础”标签下的JavaScript Loader。

取消选中公开全局选项。

参考链接-https://help.liferay.com/hc/en-us/articles/360018161931-Using-External-Libraries-#using-libraries-that-you-host

此外,还有其他一些Liferay版本的第二种解决方案,我使用了L7.1和L7.2

下面的代码中,我要添加我的模块项目

@Component(immediate = true, service = DynamicInclude.class)
public class JSTopHeadDynamicInclude extends BaseDynamicInclude {

  @Override
    public void include(
            HttpServletRequest request, HttpServletResponse response,
            String key)
        throws IOException {

    PrintWriter printWriter = response.getWriter();

    String content = "<script src=\"/o/my-custom-dynamic-include/jquery.jscrollpane.min.js\" />";
    content += "<script src=\"/o/my-custom-dynamic-include/jquery.mousewheel.js\" />";
    content += "<script src=\"/o/my-custom-dynamic-include/common.js\" />";
    printWriter.println(content);
    }

    @Override
    public void register(
        DynamicInclude.DynamicIncludeRegistry dynamicIncludeRegistry) {

        dynamicIncludeRegistry.register(
      "/html/common/themes/top_js.jspf#resources"
    );
    }
}

如果“ js”文件夹不存在,则可以在OSGI模块位置添加这些js文件,然后可以创建和添加js文件。

**src/main/resource/META-INF/resources/js/**

此外,您应该在模块的BND.BND文件中注册Web-ContextPath

**Web-ContextPath: /my-custom-dynamic-include**

参考链接-https://help.liferay.com/hc/en-us/articles/360018165751-Top-JS-Dynamic-Include

我正在使用第二种解决方案。 -很好。