1

有没有办法通过 Javascript/jQuery 或源代码从浏览器中找出服务器上部署了哪个版本的 Liferay?

我看过 Liferay 的 Javascript API。它由许多有用的方法组成。

Liferay Javascript API Liferay Javascript API Liferay Javascript API

API 中是否有一种方法可以用来找出加载的页面在哪个 Liferay 版本上运行?

编辑:或者是否有任何其他方法,例如从客户端检查加载的资源(js/images/css/source/theme)名称以确认门户在特定的 liferay 版本上运行?欢迎任何粗略的建议。

4

2 回答 2

7

几个粗略的建议:

  1. 您可以在控制面板中查看服务器管理页面。

  2. 深入研究该页面的源代码,我发现静态 Java 类com.liferay.portal.kernel.util.ReleaseInfo包含有关 liferay 版本的所有信息。

据我所知,这些信息在公开可用的客户端上不容易访问,但您可以这样做,例如在您的 JSP 中插入以下内容:

  <aui:script>
      Liferay.version = "<%=HtmlUtil.escapeJS(com.liferay.portal.kernel.util.ReleaseInfo.getReleaseInfo()) %>"
  </aui:script>

编辑: Liferay 确实在其静态资源 url 中包含内部版本号作为参数 b。例如,在 liferay.com 主页的以下摘录中:

<link href="[...]/main.css?[...]b=6120&amp;t=1382040996000" rel="stylesheet" type="text/css" />

参数 b=6120 给出了门户的内部版本号。它在 PortalImpl.java 中设置:

@Override
public String getStaticResourceURL(
    HttpServletRequest request, String uri, String queryString,
    long timestamp) {

      [...]

    // Build number

    sb.append("&b=");
    sb.append(ReleaseInfo.getBuildNumber());

      [...]

希望这可以帮助,

阿兰

于 2013-10-17T13:52:06.300 回答
2

Inspecting the Response Headers with a modern browser you may see a header like:

Liferay-Portal : Liferay DXP Digital Enterprise…/ Build 7010 / June 15, 2016)

Hope its useful

于 2018-02-21T12:13:01.690 回答