fck_2.js
资源名称:Myblog.rar [点击查看]
上传用户:wlfwy2004
上传日期:2016-12-12
资源大小:33978k
文件大小:5k
源码类别:
Jsp/Servlet
开发平台:
Java
- /*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2005 Frederico Caldeira Knabben
- *
- * Licensed under the terms of the GNU Lesser General Public License:
- * http://www.opensource.org/licenses/lgpl-license.php
- *
- * For further information visit:
- * http://www.fckeditor.net/
- *
- * File Name: fck_2.js
- * This is the second part of the "FCK" object creation. This is the main
- * object that represents an editor instance.
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
- // This collection is used by the browser specific implementations to tell
- // wich named commands must be handled separately.
- FCK.RedirectNamedCommands = new Object() ;
- FCK.ExecuteNamedCommand = function( commandName, commandParameter )
- {
- FCKUndo.SaveUndoStep() ;
- if ( FCK.RedirectNamedCommands[ commandName ] != null )
- FCK.ExecuteRedirectedNamedCommand( commandName, commandParameter ) ;
- else
- {
- FCK.Focus() ;
- FCK.EditorDocument.execCommand( commandName, false, commandParameter ) ;
- FCK.Events.FireEvent( 'OnSelectionChange' ) ;
- }
- }
- FCK.GetNamedCommandState = function( commandName )
- {
- try
- {
- if ( !FCK.EditorDocument.queryCommandEnabled( commandName ) )
- return FCK_TRISTATE_DISABLED ;
- else
- return FCK.EditorDocument.queryCommandState( commandName ) ? FCK_TRISTATE_ON : FCK_TRISTATE_OFF ;
- }
- catch ( e )
- {
- return FCK_TRISTATE_OFF ;
- }
- }
- FCK.GetNamedCommandValue = function( commandName )
- {
- var sValue = '' ;
- var eState = FCK.GetNamedCommandState( commandName ) ;
- if ( eState == FCK_TRISTATE_DISABLED )
- return null ;
- try
- {
- sValue = this.EditorDocument.queryCommandValue( commandName ) ;
- }
- catch(e) {}
- return sValue ? sValue : '' ;
- }
- FCK.PasteFromWord = function()
- {
- FCKDialog.OpenDialog( 'FCKDialog_Paste', FCKLang.PasteFromWord, 'dialog/fck_paste.html', 400, 330, 'Word' ) ;
- }
- // TODO: Wait Stable and remove this block.
- //FCK.CleanAndPaste = function( html )
- //{
- // Remove all SPAN tags
- // html = html.replace(/</?SPAN[^>]*>/gi, "" );
- // html = html.replace(/<o:p> </o:p>/g, "") ;
- // html = html.replace(/<o:p></o:p>/g, "") ;
- // Remove mso-xxx styles.
- // html = html.replace( /mso-.[^:]:.[^;"]/g, "" ) ;
- // Remove Class attributes
- // html = html.replace(/<(w[^>]*) class=([^ |>]*)([^>]*)/gi, "<$1$3") ;
- // Remove Style attributes
- // html = html.replace(/<(w[^>]*) style="([^"]*)"([^>]*)/gi, "<$1$3") ;
- // Remove Lang attributes
- // html = html.replace(/<(w[^>]*) lang=([^ |>]*)([^>]*)/gi, "<$1$3") ;
- // Remove XML elements and declarations
- // html = html.replace(/<\??xml[^>]*>/gi, "") ;
- // Remove Tags with XML namespace declarations: <o:p></o:p>
- // html = html.replace(/</?w+:[^>]*>/gi, "") ;
- // Replace the
- // html = html.replace(/ /, " " );
- // Replace the from the beggining.
- // html = html.replace(/^ [srn]*/, "");
- // Transform <P> to <DIV>
- // var re = new RegExp("(<P)([^>]*>.*?)(</P>)","gi") ; // Different because of a IE 5.0 error
- // html = html.replace( re, "<div$2</div>" ) ;
- // FCK.InsertHtml( html ) ;
- //}
- FCK.Preview = function()
- {
- var iWidth = screen.width * 0.8 ;
- var iHeight = screen.height * 0.7 ;
- var iLeft = ( screen.width - iWidth ) / 2 ;
- var oWindow = window.open( '', null, 'toolbar=yes,location=no,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width=' + iWidth + ',height=' + iHeight + ',left=' + iLeft ) ;
- var sHTML ;
- if ( FCKConfig.FullPage )
- {
- if ( FCK.TempBaseTag.length > 0 )
- sHTML = FCK.GetXHTML().replace( FCKRegexLib.HeadCloser, FCK.TempBaseTag + '</head>' ) ;
- else
- sHTML = FCK.GetXHTML() ;
- }
- else
- {
- sHTML =
- FCKConfig.DocType +
- '<html dir="' + FCKConfig.ContentLangDirection + '">' +
- '<head><title>' + FCKLang.Preview + '</title>' +
- '<link href="' + FCKConfig.EditorAreaCSS + '" rel="stylesheet" type="text/css" />' +
- FCK.TempBaseTag +
- '</head><body>' +
- FCK.GetXHTML() +
- '</body></html>' ;
- }
- oWindow.document.write( sHTML );
- oWindow.document.close();
- }
- FCK.SwitchEditMode = function()
- {
- // Check if the actual mode is WYSIWYG.
- var bWYSIWYG = ( FCK.EditMode == FCK_EDITMODE_WYSIWYG ) ;
- // Display/Hide the TRs.
- document.getElementById('eWysiwyg').style.display = bWYSIWYG ? 'none' : '' ;
- document.getElementById('eSource').style.display = bWYSIWYG ? '' : 'none' ;
- // Update the HTML in the view output to show.
- if ( bWYSIWYG )
- {
- if ( FCKBrowserInfo.IsIE )
- FCKUndo.SaveUndoStep() ;
- document.getElementById('eSourceField').value = ( FCKConfig.EnableXHTML && FCKConfig.EnableSourceXHTML ? FCK.GetXHTML( FCKConfig.FormatSource ) : FCK.GetHTML( FCKConfig.FormatSource ) ) ;
- }
- else
- FCK.SetHTML( FCK.GetHTML(), true ) ;
- // Updates the actual mode status.
- FCK.EditMode = bWYSIWYG ? FCK_EDITMODE_SOURCE : FCK_EDITMODE_WYSIWYG ;
- // Update the toolbar.
- FCKToolbarSet.RefreshModeState() ;
- // Set the Focus.
- FCK.Focus() ;
- }
- FCK.CreateElement = function( tag )
- {
- var e = FCK.EditorDocument.createElement( tag ) ;
- return FCK.InsertElementAndGetIt( e ) ;
- }
- FCK.InsertElementAndGetIt = function( e )
- {
- e.setAttribute( '__FCKTempLabel', 1 ) ;
- this.InsertElement( e ) ;
- var aEls = FCK.EditorDocument.getElementsByTagName( e.tagName ) ;
- for ( var i = 0 ; i < aEls.length ; i++ )
- {
- if ( aEls[i].getAttribute( '__FCKTempLabel' ) )
- {
- aEls[i].removeAttribute( '__FCKTempLabel' ) ;
- return aEls[i] ;
- }
- }
- }