如何用JavaScriptAPI得到当前的OS?
How to get the current OS with the JavaScript API?
希望构建一个动态值,该值的计算结果为 OS(例如:OS X 10.10.4
)和 JavaScript API,但无法找到任何在 JavaScript API.
中提及用户的当前 OS 作为可用值
现在可以吗?
没有获取当前 OS 的实际方法。我唯一可以建议的是 hacky,但在大多数情况下应该有效。这个想法是获取您发送的最后一个请求的 User-Agent
并从中提取 OS X 版本:
// last HTTP exchange of the current request
var exchange = context.getCurrentRequest().getLastExchange();
// user agent
var ua = exchange.getRequestHeaderByName("User-Agent");
// parse user agent
var matches = ua.match(/OS X\/(\d+(?:\.\d+)*)/);
// full OS name
// OS X/10.10.4
var os = matches[0];
// version string
// 10.10.4
var version = matches[1];
或者单行:
// 10.10.4
return context.getCurrentRequest().getLastExchange().getRequestHeaderByName("User-Agent").match(/OS X\/(\d+(?:\.\d+)*)/)[1];
希望构建一个动态值,该值的计算结果为 OS(例如:OS X 10.10.4
)和 JavaScript API,但无法找到任何在 JavaScript API.
现在可以吗?
没有获取当前 OS 的实际方法。我唯一可以建议的是 hacky,但在大多数情况下应该有效。这个想法是获取您发送的最后一个请求的 User-Agent
并从中提取 OS X 版本:
// last HTTP exchange of the current request
var exchange = context.getCurrentRequest().getLastExchange();
// user agent
var ua = exchange.getRequestHeaderByName("User-Agent");
// parse user agent
var matches = ua.match(/OS X\/(\d+(?:\.\d+)*)/);
// full OS name
// OS X/10.10.4
var os = matches[0];
// version string
// 10.10.4
var version = matches[1];
或者单行:
// 10.10.4
return context.getCurrentRequest().getLastExchange().getRequestHeaderByName("User-Agent").match(/OS X\/(\d+(?:\.\d+)*)/)[1];