src/Server/js/caliban.js
/*
             * Browser features (plugins, resolution, cookies) used for rudiemntary device detection for cross-domain linking
             */
Browser features (plugins, resolution, cookies) used for rudiemntary device detection for cross-domain linking
Browser features ( plugins resolution cookies ) used for rudiemntary device detection for cross - domain linking
function detectBrowserFeatures() {
                if (isDefined(browserFeatures.res)) {
                    return browserFeatures;
                }
                var i,
                    mimeType,
                    pluginMap = {
                        pdf: 'application/pdf',
                        qt: 'video/quicktime',
                        realp: 'audio/x-pn-realaudio-plugin',
                        wma: 'application/x-mplayer2',
                        dir: 'application/x-director',
                        fla: 'application/x-shockwave-flash',
                        java: 'application/x-java-vm',
                        gears: 'application/x-googlegears',
                        ag: 'application/x-silverlight',
                    };
                if (!new RegExp('MSIE').test(navigatorAlias.userAgent)) {
                    if (navigatorAlias.mimeTypes && navigatorAlias.mimeTypes.length) {
                        for (i in pluginMap) {
                            if (Object.prototype.hasOwnProperty.call(pluginMap, i)) {
                                mimeType = navigatorAlias.mimeTypes[pluginMap[i]];
                                browserFeatures[i] = mimeType && mimeType.enabledPlugin ? '1' : '0';
                            }
                        }
                    }
                    if (
                        !new RegExp('Edge[ /](\\d+[\\.\\d]+)').test(navigatorAlias.userAgent) &&
                        typeof navigator.javaEnabled !== 'unknown' &&
                        isDefined(navigatorAlias.javaEnabled) &&
                        navigatorAlias.javaEnabled()
                    ) {
                        browserFeatures.java = '1';
                    }
                    if (isFunction(windowAlias.GearsFactory)) {
                        browserFeatures.gears = '1';
                    }
                    browserFeatures.cookie = hasCookies();
                }
                var width = parseInt(screenAlias.width, 10);
                var height = parseInt(screenAlias.height, 10);
                browserFeatures.res = parseInt(width, 10) + 'x' + parseInt(height, 10);
                return browserFeatures;
            }
function detectBrowserFeatures ( ) { if ( isDefined ( browserFeatures . res ) ) { return browserFeatures ; } var i , mimeType , pluginMap = { pdf : 'application/pdf' , qt : 'video/quicktime' , realp : 'audio/x-pn-realaudio-plugin' , wma : 'application/x-mplayer2' , dir : 'application/x-director' , fla : 'application/x-shockwave-flash' , java : 'application/x-java-vm' , gears : 'application/x-googlegears' , ag : 'application/x-silverlight' , } ; if ( ! new RegExp ( 'MSIE' ) . test ( navigatorAlias . userAgent ) ) { if ( navigatorAlias . mimeTypes && navigatorAlias . mimeTypes . length ) { for ( i in pluginMap ) { if ( Object . prototype . hasOwnProperty . call ( pluginMap , i ) ) { mimeType = navigatorAlias . mimeTypes [ pluginMap [ i ] ] ; browserFeatures [ i ] = mimeType && mimeType . enabledPlugin ? '1' : '0' ; } } } if ( ! new RegExp ( 'Edge[ /](\\d+[\\.\\d]+)' ) . test ( navigatorAlias . userAgent ) && typeof navigator . javaEnabled !== 'unknown' && isDefined ( navigatorAlias . javaEnabled ) && navigatorAlias . javaEnabled ( ) ) { browserFeatures . java = '1' ; } if ( isFunction ( windowAlias . GearsFactory ) ) { browserFeatures . gears = '1' ; } browserFeatures . cookie = hasCookies ( ) ; } var width = parseInt ( screenAlias . width , 10 ) ; var height = parseInt ( screenAlias . height , 10 ) ; browserFeatures . res = parseInt ( width , 10 ) + 'x' + parseInt ( height , 10 ) ; return browserFeatures ; }
Browser features (plugins, resolution, cookies) used for rudiemntary device detection for cross-domain linking
Browser features ( plugins resolution cookies ) used for rudiemntary device detection for cross - domain linking
// Features already set // document types // media players // interactive multimedia // RIA // detect browser features except IE < 11 (IE 11 user agent is no longer MSIE) // general plugin detection // Safari and Opera // IE6/IE7 navigator.javaEnabled can't be aliased, so test directly // on Edge navigator.javaEnabled() always returns `true`, so ignore it // Firefox // other browser features