X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=_source%2Fcore%2Fenv.js;h=9b73aead51359d973f06cae75bf90a36e02097f8;hb=f0610347140239143439a511ee2bd48cb784f470;hp=a0ae46509761b114681c20bb95be00c757ae47dc;hpb=e371ddf8abcb89013e20e6d0dd746adec344d0e5;p=ckeditor.git diff --git a/_source/core/env.js b/_source/core/env.js index a0ae465..9b73aea 100644 --- a/_source/core/env.js +++ b/_source/core/env.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -11,9 +11,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license if ( !CKEDITOR.env ) { /** - * Environment and browser information. - * @namespace - * @example + * @namespace Environment and browser information. */ CKEDITOR.env = (function() { @@ -69,10 +67,32 @@ if ( !CKEDITOR.env ) */ mac : ( agent.indexOf( 'macintosh' ) > -1 ), + /** + * Indicates that CKEditor is running on a quirks mode environemnt. + * @type Boolean + * @example + * if ( CKEDITOR.env.quirks ) + * alert( "Nooooo!" ); + */ quirks : ( document.compatMode == 'BackCompat' ), + /** + * Indicates that CKEditor is running on a mobile like environemnt. + * @type Boolean + * @example + * if ( CKEDITOR.env.mobile ) + * alert( "I'm running with CKEditor today!" ); + */ mobile : ( agent.indexOf( 'mobile' ) > -1 ), + /** + * Indicates that the browser has a custom domain enabled. This has + * been set with "document.domain". + * @returns {Boolean} "true" if a custom domain is enabled. + * @example + * if ( CKEDITOR.env.isCustomDomain() ) + * alert( "I'm in a custom domain!" ); + */ isCustomDomain : function() { if ( !this.ie ) @@ -83,7 +103,16 @@ if ( !CKEDITOR.env ) return domain != hostname && domain != ( '[' + hostname + ']' ); // IPv6 IP support (#5434) - } + }, + + /** + * Indicates that page is running under an encrypted connection. + * @returns {Boolean} "true" if the page has an encrypted connection. + * @example + * if ( CKEDITOR.env.secure ) + * alert( "I'm in SSL!" ); + */ + secure : location.protocol == 'https:' }; /** @@ -105,19 +134,44 @@ if ( !CKEDITOR.env ) version = parseFloat( agent.match( /msie (\d+)/ )[1] ); /** - * Indicate IE8 browser. + * Indicates that CKEditor is running on Internet Explorer 8. + * @name CKEDITOR.env.ie8 + * @type Boolean + * @example + * if ( CKEDITOR.env.ie8 ) + * alert( "I'm on IE8!" ); */ env.ie8 = !!document.documentMode; /** - * Indicte IE8 document mode. + * Indicates that CKEditor is running on Internet Explorer 8 on + * standards mode. + * @name CKEDITOR.env.ie8Compat + * @type Boolean + * @example + * if ( CKEDITOR.env.ie8Compat ) + * alert( "Now I'm on IE8, for real!" ); */ env.ie8Compat = document.documentMode == 8; /** + * Indicates that CKEditor is running on Internet Explorer 9's standards mode. + * @name CKEDITOR.env.ie9Compat + * @type Boolean + * @example + * if ( CKEDITOR.env.ie9Compat ) + * alert( "IE9, the beauty of the web!" ); + */ + env.ie9Compat = document.documentMode == 9; + + /** * Indicates that CKEditor is running on an IE7-like environment, which * includes IE7 itself and IE8's IE7 document mode. + * @name CKEDITOR.env.ie7Compat * @type Boolean + * @example + * if ( CKEDITOR.env.ie8Compat ) + * alert( "I'm on IE7 or on an IE7 like IE8!" ); */ env.ie7Compat = ( ( version == 7 && !document.documentMode ) || document.documentMode == 7 ); @@ -125,13 +179,13 @@ if ( !CKEDITOR.env ) /** * Indicates that CKEditor is running on an IE6-like environment, which * includes IE6 itself and IE7 and IE8 quirks mode. + * @name CKEDITOR.env.ie6Compat * @type Boolean * @example * if ( CKEDITOR.env.ie6Compat ) * alert( "I'm on IE6 or quirks mode!" ); */ env.ie6Compat = ( version < 7 || env.quirks ); - } // Gecko. @@ -160,12 +214,12 @@ if ( !CKEDITOR.env ) version = parseFloat( agent.match( / applewebkit\/(\d+)/ )[1] ); /** - * Contains the browser version. - * + * Contains the browser version.
+ *
* For gecko based browsers (like Firefox) it contains the revision * number with first three parts concatenated with a padding zero - * (e.g. for revision 1.9.0.2 we have 10900). - * + * (e.g. for revision 1.9.0.2 we have 10900).
+ *
* For webkit based browser (like Safari and Chrome) it contains the * WebKit build version (e.g. 522). * @name CKEDITOR.env.version @@ -193,14 +247,19 @@ if ( !CKEDITOR.env ) ( env.webkit && version >= 522 ) || false ); - // The CSS class to be appended on the main UI containers, making it - // easy to apply browser specific styles to it. + /** + * The CSS class to be appended on the main UI containers, making it + * easy to apply browser specific styles to it. + * @name CKEDITOR.env.cssClass + * @type String + * @example + * myDiv.className = CKEDITOR.env.cssClass; + */ env.cssClass = 'cke_browser_' + ( env.ie ? 'ie' : env.gecko ? 'gecko' : env.opera ? 'opera' : - env.air ? 'air' : env.webkit ? 'webkit' : 'unknown' ); @@ -211,7 +270,7 @@ if ( !CKEDITOR.env ) { env.cssClass += ' cke_browser_ie' + ( env.version < 7 ? '6' : - env.version >= 8 ? '8' : + env.version >= 8 ? document.documentMode: '7' ); if ( env.quirks ) @@ -221,6 +280,9 @@ if ( !CKEDITOR.env ) if ( env.gecko && version < 10900 ) env.cssClass += ' cke_browser_gecko18'; + if ( env.air ) + env.cssClass += ' cke_browser_air'; + return env; })(); }