有没有办法从浏览器通过Javascript / jQuery或源代码找出服务器上部署的Liferay版本?
我看过Liferay的Javascript API。它包含许多有用的方法。
我可以使用API中的方法找出正在运行的加载页面的Liferay版本吗?
编辑: 或者还有其他方法,比如从客户端检查加载的资源(js / images / css / source / theme)名称,以确认门户网站是否在特定的liferay版本上运行?欢迎任何粗略的建议。
答案 0 :(得分:7)
一些粗略的建议:
您可以在控制面板中查看服务器管理页面。
深入了解该页面的源代码,我发现静态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&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());
[...]
希望这有帮助,
阿兰
答案 1 :(得分:1)
使用现代浏览器检查响应标头,您可能会看到如下标题:
Liferay-Portal:Liferay DXP数字企业...... / Build 7010/2016年6月15日)希望它有用