| 2 | let detectBrowserResult_ = null; |
| 3 | |
| 4 | export default function detectBrowser() { |
| 5 | if (detectBrowserResult_) { |
| 6 | return detectBrowserResult_; |
| 7 | } |
| 8 | |
| 9 | if (typeof navigator !== 'undefined') { |
| 10 | const isExplorer = navigator.userAgent.indexOf('MSIE') > -1; |
| 11 | const isFirefox = navigator.userAgent.indexOf('Firefox') > -1; |
| 12 | const isOpera = navigator.userAgent.toLowerCase().indexOf('op') > -1; |
| 13 | |
| 14 | let isChrome = navigator.userAgent.indexOf('Chrome') > -1; |
| 15 | let isSafari = navigator.userAgent.indexOf('Safari') > -1; |
| 16 | |
| 17 | if (isChrome && isSafari) { |
| 18 | isSafari = false; |
| 19 | } |
| 20 | |
| 21 | if (isChrome && isOpera) { |
| 22 | isChrome = false; |
| 23 | } |
| 24 | |
| 25 | detectBrowserResult_ = { |
| 26 | isExplorer, |
| 27 | isFirefox, |
| 28 | isOpera, |
| 29 | isChrome, |
| 30 | isSafari, |
| 31 | }; |
| 32 | return detectBrowserResult_; |
| 33 | } |
| 34 | |
| 35 | detectBrowserResult_ = { |
| 36 | isChrome: true, |
| 37 | isExplorer: false, |
| 38 | isFirefox: false, |
| 39 | isOpera: false, |
| 40 | isSafari: false, |
| 41 | }; |
| 42 | |
| 43 | return detectBrowserResult_; |
| 44 | } |