public/lib/supported-browser-service.js (39 lines of code) (raw):

import angular from 'angular'; import UAParser from 'ua-parser-js'; angular.module('wfSupportedBrowserService', []) .factory('wfSupportedBrowserService', ['$rootScope', function($rootScope) { class SupportedBrowserService { checkSupportedBrowser() { var supportedBrowserCollection = [ { browserName: 'Chrome', browserVersion: 37 }, { browserName: 'Firefox', browserVersion: 31 }, { browserName: 'Chromium', browserVersion: 37 } ]; // parse the user agent string to get browser name and version var ua = new UAParser(), browser = ua.getBrowser(), userBrowserName = browser.name, userBrowserVersion = browser.major; var supported = supportedBrowserCollection.some((b) => { return (userBrowserName === b.browserName && userBrowserVersion >= b.browserVersion); }); // if the browser is not supported, alert the user if (!supported) { $rootScope.$broadcast('userMessage.show', { name: "browserNotSupported", dismissable: true, messageType: 'notification' }); } } } return new SupportedBrowserService(); }]);