@genexus/web-standard-functions
Version:
GeneXus JavaScript standard functions library for web generators
44 lines • 2 kB
JavaScript
/**
* Returns the browser Id and version from the user agent string
* @param userAgent
*/
export function browserIdFromAgent(userAgent) {
if (!userAgent) {
return { id: BrowserIdValues.UnknownAgent, version: "" };
}
for (const brMatcher of browserMatchers) {
let matches = userAgent.match(brMatcher.regExp);
if (matches !== null) {
return { id: brMatcher.browserId, version: matches[1] };
}
}
return { id: BrowserIdValues.UnknownAgent, version: "" };
}
export var BrowserIdValues;
(function (BrowserIdValues) {
BrowserIdValues[BrowserIdValues["UnknownAgent"] = 0] = "UnknownAgent";
BrowserIdValues[BrowserIdValues["InternetExplorer"] = 1] = "InternetExplorer";
BrowserIdValues[BrowserIdValues["Netscape"] = 2] = "Netscape";
BrowserIdValues[BrowserIdValues["Opera"] = 3] = "Opera";
BrowserIdValues[BrowserIdValues["MozillaFirefox"] = 6] = "MozillaFirefox";
BrowserIdValues[BrowserIdValues["Chrome"] = 7] = "Chrome";
BrowserIdValues[BrowserIdValues["Safari"] = 8] = "Safari";
BrowserIdValues[BrowserIdValues["Edge"] = 9] = "Edge";
})(BrowserIdValues || (BrowserIdValues = {}));
const msieRegEx = /msie\/([0-9\.]+)/i;
const edgeRegEx = /edge\/([0-9\.]+)/i;
const chromeRegEx = /chrome\/([0-9\.]+)/i;
const safariRegEx = /safari\/([0-9\.]+)/i;
const operaRegEx = /opera\/([0-9\.]+)/i;
const firefoxRegEx = /firefox\/([0-9\.]+)/i;
const netscapeRegEx = /netscape\/([0-9\.]+)/i;
const browserMatchers = [
{ regExp: msieRegEx, browserId: BrowserIdValues.InternetExplorer },
{ regExp: edgeRegEx, browserId: BrowserIdValues.Edge },
{ regExp: chromeRegEx, browserId: BrowserIdValues.Chrome },
{ regExp: safariRegEx, browserId: BrowserIdValues.Safari },
{ regExp: operaRegEx, browserId: BrowserIdValues.Opera },
{ regExp: firefoxRegEx, browserId: BrowserIdValues.MozillaFirefox },
{ regExp: netscapeRegEx, browserId: BrowserIdValues.Netscape }
];
//# sourceMappingURL=browserCommon.js.map