1 | import { detect } from 'detect-browser';
|
2 | export var SUPPORTED_FIREFOX_VERSION = 57;
|
3 | export var SUPPORTED_CHROME_VERSION = 64;
|
4 | export var SUPPORTED_EDGE_VERSION = 16;
|
5 | export function getUnsupportedBrowserError() {
|
6 | var info = detect();
|
7 | if (!info) {
|
8 | return 'browser cannot be detected';
|
9 | }
|
10 | var prefix = "unsupported browser detected:";
|
11 | switch (info.name) {
|
12 | case 'firefox':
|
13 | var fVersion = parseInt(info.version.slice(0, info.version.indexOf('.')), 10);
|
14 | if (fVersion <= SUPPORTED_FIREFOX_VERSION && fVersion !== 52) {
|
15 | return prefix + " Firefox " + info.version + " (< " + SUPPORTED_FIREFOX_VERSION + ")";
|
16 | }
|
17 | return null;
|
18 | case 'edge':
|
19 | var eVersion = parseInt(info.version.slice(0, info.version.indexOf('.')), 10);
|
20 | if (eVersion <= SUPPORTED_EDGE_VERSION) {
|
21 | return prefix + " Edge " + info.version + " (< " + SUPPORTED_EDGE_VERSION + ")";
|
22 | }
|
23 | return null;
|
24 | case 'chrome':
|
25 | var cVersion = parseInt(info.version.slice(0, info.version.indexOf('.')), 10);
|
26 | if (cVersion <= SUPPORTED_CHROME_VERSION) {
|
27 | return prefix + " Chrome " + info.version + " (< " + SUPPORTED_CHROME_VERSION + ")";
|
28 | }
|
29 | return null;
|
30 | case 'ie':
|
31 | return prefix + " Internet Explorer";
|
32 | }
|
33 | console.warn('unknown browser detected', info, 'assuming fine...');
|
34 | return null;
|
35 | }
|
36 | export function isBrowserSupported() {
|
37 | return getUnsupportedBrowserError() == null;
|
38 | }
|
39 |
|
\ | No newline at end of file |