diff --git a/nav-app/package-lock.json b/nav-app/package-lock.json index e93b3e98..c0cb837c 100644 --- a/nav-app/package-lock.json +++ b/nav-app/package-lock.json @@ -27,6 +27,7 @@ "core-js": "^3.31.1", "d3": "^7.8.5", "d3-svg-legend": "^2.25.6", + "detect-browser": "^5.3.0", "file-saver": "^2.0.5", "load-json-file": "^7.0.1", "mathjs": "^12.4.2", @@ -7708,6 +7709,11 @@ "npm": "1.2.8000 || >= 1.4.16" } }, + "node_modules/detect-browser": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/detect-browser/-/detect-browser-5.3.0.tgz", + "integrity": "sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w==" + }, "node_modules/detect-node": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", diff --git a/nav-app/package.json b/nav-app/package.json index 2bdafba3..caa2b160 100644 --- a/nav-app/package.json +++ b/nav-app/package.json @@ -34,6 +34,7 @@ "core-js": "^3.31.1", "d3": "^7.8.5", "d3-svg-legend": "^2.25.6", + "detect-browser": "^5.3.0", "file-saver": "^2.0.5", "load-json-file": "^7.0.1", "mathjs": "^12.4.2", diff --git a/nav-app/src/app/utils/utils.ts b/nav-app/src/app/utils/utils.ts index 76d8bfbd..3fb73bd1 100644 --- a/nav-app/src/app/utils/utils.ts +++ b/nav-app/src/app/utils/utils.ts @@ -1,4 +1,6 @@ // utils.ts +import { detect } from "detect-browser"; + let comparatorFn = { '<': function(a, b) { return a < b; }, '<=': function(a, b) { return a <= b; }, @@ -15,9 +17,8 @@ export function isNumber(value: any): boolean { } export function isIE(): boolean { - let userAgent = (window.navigator && window.navigator.userAgent || '').toLowerCase(); - let match = userAgent.match(/(?:msie |trident.+?; rv:)(\d+)/); - return match !== null; + const browser = detect(); + return browser.name == 'ie'; } export function isSafari(compRange): boolean { @@ -28,7 +29,6 @@ export function isSafari(compRange): boolean { return comparatorFn[op] ? comparatorFn[op](version, n) : (version == n || n !== n); } - let userAgent = (window.navigator && window.navigator.userAgent || '').toLowerCase(); - var match = userAgent.match(/version\/(\d+).+?safari/); - return match !== null && compare(match[1], compRange); + const browser = detect(); + return browser.name == 'safari' && compare(browser.version.split('.')[0], compRange); }