从浏览器中检查Liferay版本

Ash*_*lix 1 javascript jquery liferay liferay-6

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

我看过Liferay的Javascript API.它包含许多有用的方法.

Liferay Javascript API Liferay Javascript API Liferay Javascript API

我可以使用API​​中的方法找出正在运行的加载页面的Liferay版本吗?

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

Ala*_*sse 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>
Run Code Online (Sandbox Code Playgroud)

编辑: Liferay确实在其静态资源URL中包含构建号作为参数b.例如,在liferay.com主页的以下摘录中:

<link href="[...]/main.css?[...]b=6120&amp;t=1382040996000" rel="stylesheet" type="text/css" />
Run Code Online (Sandbox Code Playgroud)

参数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());

      [...]
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助,

阿兰