Вход Регистрация
Файл: plugins/p_fckeditor/fckeditor/editor/js/fckadobeair.js
Строк: 232
<?php
/*
 * FCKeditor - The text editor for Internet - http://www.fckeditor.net
 * Copyright (C) 2003-2010 Frederico Caldeira Knabben
 *
 * == BEGIN LICENSE ==
 *
 * Licensed under the terms of any of the following licenses at your
 * choice:
 *
 *  - GNU General Public License Version 2 or later (the "GPL")
 *    http://www.gnu.org/licenses/gpl.html
 *
 *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
 *    http://www.gnu.org/licenses/lgpl.html
 *
 *  - Mozilla Public License Version 1.1 or later (the "MPL")
 *    http://www.mozilla.org/MPL/MPL-1.1.html
 *
 * == END LICENSE ==
 *
 * Compatibility code for Adobe AIR.
 */

if ( FCKBrowserInfo.IsAIR )
{
    var 
FCKAdobeAIR = (function()
    {
        
/*
         * ### Private functions.
         */

        
var getDocumentHead = function( doc )
        {
            var 
head ;
            var 
heads doc.getElementsByTagName'head' ) ;

            if( 
heads && heads[0] )
                
head heads[0] ;
            else
            {
                
head doc.createElement'head' ) ;
                
doc.documentElement.insertBeforeheaddoc.documentElement.firstChild ) ;
            }

            return 
head ;
        } ;

        
/*
         * ### Public interface.
         */
        
return {
            
FCKeditorAPI_Evaluate : function( parentWindowscript )
            {
                
// TODO : This one doesn't work always. The parent window will
                // point to an anonymous function in this window. If this
                // window is destroyied the parent window will be pointing to
                // an invalid reference.

                // Evaluate the script in this window.
                
eval( script ) ;

                
// Point the FCKeditorAPI property of the parent window to the
                // local reference.
                
parentWindow.FCKeditorAPI window.FCKeditorAPI ;
            },

            
EditingArea_Start : function( dochtml )
            {
                
// Get the HTML for the <head>.
                
var headInnerHtml html.match( /<head>([sS]*)</head>/)[1] ;

                if ( 
headInnerHtml && headInnerHtml.length )
                {
                    
// Inject the <head> HTML inside a <div>.
                    // Do that before getDocumentHead because WebKit moves
                    // <link css> elements to the <head> at this point.
                    
var div doc.createElement'div' ) ;
                    
div.innerHTML headInnerHtml ;

                    
// Move the <div> nodes to <head>.
                    
FCKDomTools.MoveChildrendivgetDocumentHeaddoc ) ) ;
                }

                
doc.body.innerHTML html.match( /<body>([sS]*)</body>/)[1] ;

                
//prevent clicking on hyperlinks and navigating away
                
doc.addEventListener('click', function( ev )
                    {
                        
ev.preventDefault() ;
                        
ev.stopPropagation() ;
                    }, 
true ) ;
            },

            
Panel_Contructor : function( docbaseLocation )
            {
                var 
head getDocumentHeaddoc ) ;

                
// Set the <base> href.
                
head.appendChilddoc.createElement('base') ).href baseLocation ;

                
doc.body.style.margin    '0px' ;
                
doc.body.style.padding    '0px' ;
            },

            
ToolbarSet_GetOutElement : function( winoutMatch )
            {
                var 
toolbarTarget win.parent ;

                var 
targetWindowParts outMatch[1].split'.' ) ;
                while ( 
targetWindowParts.length )
                {
                    var 
part targetWindowParts.shift() ;
                    if ( 
part.length )
                        
toolbarTarget toolbarTargetpart ] ;
                }

                
toolbarTarget toolbarTarget.document.getElementByIdoutMatch[2] ) ;
            },

            
ToolbarSet_InitOutFrame : function( doc )
            {
                var 
head getDocumentHeaddoc ) ;

                
head.appendChilddoc.createElement('base') ).href window.document.location ;

                var 
targetWindow doc.defaultView;

                
targetWindow.adjust = function()
                {
                    
targetWindow.frameElement.height doc.body.scrollHeight;
                } ;

                
targetWindow.onresize targetWindow.adjust ;
                
targetWindow.setTimeouttargetWindow.adjust) ;

                
doc.body.style.overflow 'hidden';
                
doc.body.innerHTML document.getElementById'xToolbarSpace' ).innerHTML ;
            }
        } ;
    })();

    
/*
     * ### Overrides
     */
    
( function()
    {
        
// Save references for override reuse.
        
var _Original_FCKPanel_Window_OnFocus    FCKPanel_Window_OnFocus ;
        var 
_Original_FCKPanel_Window_OnBlur    FCKPanel_Window_OnBlur ;
        var 
_Original_FCK_StartEditor            FCK.StartEditor ;

        
FCKPanel_Window_OnFocus = function( epanel )
        {
            
// Call the original implementation.
            
_Original_FCKPanel_Window_OnFocus.callthisepanel ) ;

            if ( 
panel._focusTimer )
                
clearTimeoutpanel._focusTimer ) ;
        }

        
FCKPanel_Window_OnBlur = function( epanel )
        {
            
// Delay the execution of the original function.
            
panel._focusTimer FCKTools.SetTimeout_Original_FCKPanel_Window_OnBlur100this, [ epanel ] ) ;
        }

        
FCK.StartEditor = function()
        {
            
// Force pointing to the CSS files instead of using the inline CSS cached styles.
            
window.FCK_InternalCSS            FCKConfig.BasePath 'css/fck_internal.css' ;
            
window.FCK_ShowTableBordersCSS    FCKConfig.BasePath 'css/fck_showtableborders_gecko.css' ;

            
_Original_FCK_StartEditor.applythisarguments ) ;
        }
    })();
}
?>
Онлайн: 0
Реклама