source/jquery.flot.browser.js
function() {
            // *** https://stackoverflow.com/questions/9847580/how-to-detect-safari-chrome-ie-firefox-and-opera-browser
            // Safari 3.0+ "[object HTMLElementConstructor]"
            return /constructor/i.test(window.top.HTMLElement) || (function (p) { return p.toString() === "[object SafariRemoteNotification]"; })(!window.top['safari'] || (typeof window.top.safari !== 'undefined' && window.top.safari.pushNotification));
        }
function() {
            // *** https://stackoverflow.com/questions/9847580/how-to-detect-safari-chrome-ie-firefox-and-opera-browser
            // Safari 3.0+ "[object HTMLElementConstructor]"
            return /constructor/i.test(window.top.HTMLElement) || (function (p) { return p.toString() === "[object SafariRemoteNotification]"; })(!window.top['safari'] || (typeof window.top.safari !== 'undefined' && window.top.safari.pushNotification));
        }
function ( ) { // *** https://stackoverflow.com/questions/9847580/how-to-detect-safari-chrome-ie-firefox-and-opera-browser // Safari 3.0+ "[object HTMLElementConstructor]" return / constructor / i . test ( window . top . HTMLElement ) || ( function ( p ) { return p . toString ( ) === "[object SafariRemoteNotification]" ; } ) ( ! window . top [ 'safari' ] || ( typeof window . top . safari !== 'undefined' && window . top . safari . pushNotification ) ) ; }
- isSafari, isMobileSafari, isOpera, isFirefox, isIE, isEdge, isChrome, isBlink

This is a collection of functions, used to check if the code is running in a
particular browser or Javascript engine.
- isSafari isMobileSafari isOpera isFirefox isIE isEdge isChrome isBlink