Changeset 2482


Ignore:
Timestamp:
09/20/08 13:20:26 (6 years ago)
Author:
fredck
Message:

Added the browser version to CKEDITOR.env.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • CKEditor/branches/prototype/_source/core/env.js

    r2371 r2482  
    9494                env.gecko = ( navigator.product == 'Gecko' && !env.webkit && !env.opera ); 
    9595 
     96                var version = 0; 
     97 
     98                // Internet Explorer 6.0+ 
     99                if ( env.ie ) 
     100                        version = parseFloat( agent.match( /msie (\d+)/ )[1] ); 
     101 
     102                // Gecko. 
     103                if ( env.gecko ) 
     104                { 
     105                        var geckoRelease = agent.match( /rv:([\d\.]+)/ ); 
     106                        if ( geckoRelease ) 
     107                        { 
     108                                geckoRelease = geckoRelease[1].split( '.' ); 
     109                                version = geckoRelease[0] * 10000 + ( geckoRelease[1] || 0 ) * 100 + ( geckoRelease[2] || 0 ); 
     110                        } 
     111                } 
     112 
     113                // Opera 9.50+ 
     114                if ( env.opera ) 
     115                        version = parseFloat( opera.version() ); 
     116 
     117                // Adobe AIR 1.0+ 
     118                // Checked before Safari because AIR have the WebKit rich text editor 
     119                // features from Safari 3.0.4, but the version reported is 420. 
     120                if ( env.air ) 
     121                        version = parseFloat( agent.match( / adobeair\/(\d+)/ )[1] ); 
     122 
     123                // WebKit 522+ (Safari 3+) 
     124                if ( env.webkit ) 
     125                        version = parseFloat( agent.match( / applewebkit\/(\d+)/ )[1] ); 
     126 
     127                /** 
     128                 * Contains the browser version. 
     129                 * 
     130                 * For gecko based browsers (like Firefox) it contains the revision 
     131                 * number with first three parts concatenated with a padding zero 
     132                 * (e.g. for revision 1.9.0.2 we have 10900). 
     133                 * 
     134                 * For webkit based browser (like Safari and Chrome) it contains the 
     135                 * WebKit build version (e.g. 522). 
     136                 * @name CKEDITOR.env.version 
     137                 * @type Boolean 
     138                 * @example 
     139                 * if ( CKEDITOR.env.ie && <b>CKEDITOR.env.version</b> <= 6 ) 
     140                 *     alert( "Ouch!" ); 
     141                 */ 
     142                env.version = version; 
     143 
    96144                /** 
    97145                 * Indicates that CKEditor is running on a compatible browser. 
     
    102150                 *     alert( "Your browser is pretty cool!" ); 
    103151                 */ 
    104                 env.isCompatible = (function() 
    105                 { 
    106                         // Internet Explorer 6.0+ 
    107                         if ( env.ie ) 
    108                                 return ( agent.match( /msie (\d+)/ )[1] >= 6 ); 
    109  
    110                         // Gecko. 
    111                         if ( env.gecko ) 
    112                         { 
    113                                 var geckoRelease = agent.match( /rv:([\d\.]+)/ ); 
    114                                 if ( !geckoRelease ) 
    115                                         return false; 
    116                                 geckoRelease = geckoRelease[1].split( '.' ); 
    117                                 geckoRelease = geckoRelease[0] * 10000 + ( geckoRelease[1] || 0 ) * 100 + ( geckoRelease[2] || 0 ); 
    118                                 return geckoRelease >= 10801; 
    119                         } 
    120  
    121                         // Opera 9.50+ 
    122                         if ( env.opera ) 
    123                                 return parseFloat( opera.version() ) >= 9.5; 
    124  
    125                         // Adobe AIR 1.0+ 
    126                         // Checked before Safari because AIR have the WebKit rich text editor 
    127                         // features from Safari 3.0.4, but the version reported is 420. 
    128                         if ( env.air ) 
    129                                 return ( agent.match( / adobeair\/(\d+)/ )[1] >= 1 ); 
    130  
    131                         // WebKit 522+ (Safari 3+) 
    132                         if ( env.webkit ) 
    133                                 return ( agent.match( / applewebkit\/(\d+)/ )[1] >= 522 ); 
    134  
    135                         return false; 
    136                 })(); 
     152                env.isCompatible = 
     153                        ( env.ie && version >= 6 ) || 
     154                        ( env.gecko && version >= 10801 ) || 
     155                        ( env.opera && version >= 9.5 ) || 
     156                        ( env.air && version >= 1 ) || 
     157                        ( env.webkit && version >= 522 ) || 
     158                        false; 
    137159 
    138160                return env; 
Note: See TracChangeset for help on using the changeset viewer.
© 2003 – 2012 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy