fck_2.js
上传用户:li2971742
上传日期:2021-11-18
资源大小:39096k
文件大小:4k
源码类别:

OA系统

开发平台:

C#

  1. /*
  2.  * FCKeditor - The text editor for internet
  3.  * Copyright (C) 2003-2006 Frederico Caldeira Knabben
  4.  * 
  5.  * Licensed under the terms of the GNU Lesser General Public License:
  6.  *  http://www.opensource.org/licenses/lgpl-license.php
  7.  * 
  8.  * For further information visit:
  9.  *  http://www.fckeditor.net/
  10.  * 
  11.  * "Support Open Source software. What about a donation today?"
  12.  * 
  13.  * File Name: fck_2.js
  14.  *  This is the second part of the "FCK" object creation. This is the main
  15.  *  object that represents an editor instance.
  16.  * 
  17.  * File Authors:
  18.  *  Frederico Caldeira Knabben (fredck@fckeditor.net)
  19.  */
  20. // This collection is used by the browser specific implementations to tell
  21. // wich named commands must be handled separately.
  22. FCK.RedirectNamedCommands = new Object() ;
  23. FCK.ExecuteNamedCommand = function( commandName, commandParameter, noRedirect )
  24. {
  25. FCKUndo.SaveUndoStep() ;
  26. if ( !noRedirect && FCK.RedirectNamedCommands[ commandName ] != null )
  27. FCK.ExecuteRedirectedNamedCommand( commandName, commandParameter ) ;
  28. else
  29. {
  30. FCK.Focus() ;
  31. FCK.EditorDocument.execCommand( commandName, false, commandParameter ) ; 
  32. FCK.Events.FireEvent( 'OnSelectionChange' ) ;
  33. }
  34. FCKUndo.SaveUndoStep() ;
  35. }
  36. FCK.GetNamedCommandState = function( commandName )
  37. {
  38. try
  39. {
  40. if ( !FCK.EditorDocument.queryCommandEnabled( commandName ) )
  41. return FCK_TRISTATE_DISABLED ;
  42. else
  43. return FCK.EditorDocument.queryCommandState( commandName ) ? FCK_TRISTATE_ON : FCK_TRISTATE_OFF ;
  44. }
  45. catch ( e )
  46. {
  47. return FCK_TRISTATE_OFF ;
  48. }
  49. }
  50. FCK.GetNamedCommandValue = function( commandName )
  51. {
  52. var sValue = '' ;
  53. var eState = FCK.GetNamedCommandState( commandName ) ;
  54. if ( eState == FCK_TRISTATE_DISABLED ) 
  55. return null ;
  56. try
  57. {
  58. sValue = this.EditorDocument.queryCommandValue( commandName ) ;
  59. }
  60. catch(e) {}
  61. return sValue ? sValue : '' ;
  62. }
  63. FCK.PasteFromWord = function()
  64. {
  65. FCKDialog.OpenDialog( 'FCKDialog_Paste', FCKLang.PasteFromWord, 'dialog/fck_paste.html', 400, 330, 'Word' ) ;
  66. }
  67. FCK.Preview = function()
  68. {
  69. var iWidth = FCKConfig.ScreenWidth * 0.8 ;
  70. var iHeight = FCKConfig.ScreenHeight * 0.7 ;
  71. var iLeft = ( FCKConfig.ScreenWidth - iWidth ) / 2 ;
  72. var oWindow = window.open( '', null, 'toolbar=yes,location=no,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width=' + iWidth + ',height=' + iHeight + ',left=' + iLeft ) ;
  73. var sHTML ;
  74. if ( FCKConfig.FullPage )
  75. {
  76. if ( FCK.TempBaseTag.length > 0 )
  77. sHTML = FCK.TempBaseTag + FCK.GetXHTML() ;
  78. else
  79. sHTML = FCK.GetXHTML() ;
  80. }
  81. else
  82. {
  83. sHTML = 
  84. FCKConfig.DocType +
  85. '<html dir="' + FCKConfig.ContentLangDirection + '">' +
  86. '<head>' +
  87. FCK.TempBaseTag +
  88. '<title>' + FCKLang.Preview + '</title>' +
  89. FCK._GetEditorAreaStyleTags() +
  90. '</head><body>' + 
  91. FCK.GetXHTML() + 
  92. '</body></html>' ;
  93. }
  94. oWindow.document.write( sHTML );
  95. oWindow.document.close();
  96. }
  97. FCK.SwitchEditMode = function( noUndo )
  98. {
  99. var bIsWysiwyg = ( FCK.EditMode == FCK_EDITMODE_WYSIWYG ) ;
  100. var sHtml ;
  101. // Update the HTML in the view output to show.
  102. if ( bIsWysiwyg )
  103. {
  104. if ( !noUndo && FCKBrowserInfo.IsIE )
  105. FCKUndo.SaveUndoStep() ;
  106. sHtml = FCK.GetXHTML( FCKConfig.FormatSource ) ;
  107. }
  108. else
  109. sHtml = this.EditingArea.Textarea.value ;
  110. FCK.EditMode = bIsWysiwyg ? FCK_EDITMODE_SOURCE : FCK_EDITMODE_WYSIWYG ;
  111. FCK.SetHTML( sHtml ) ;
  112. // Set the Focus.
  113. FCK.Focus() ;
  114. // Update the toolbar (Running it directly causes IE to fail).
  115. FCKTools.RunFunction( FCK.ToolbarSet.RefreshModeState, FCK.ToolbarSet ) ;
  116. }
  117. FCK.CreateElement = function( tag )
  118. {
  119. var e = FCK.EditorDocument.createElement( tag ) ;
  120. return FCK.InsertElementAndGetIt( e ) ;
  121. }
  122. FCK.InsertElementAndGetIt = function( e )
  123. {
  124. e.setAttribute( 'FCKTempLabel', 'true' ) ;
  125. this.InsertElement( e ) ;
  126. var aEls = FCK.EditorDocument.getElementsByTagName( e.tagName ) ;
  127. for ( var i = 0 ; i < aEls.length ; i++ )
  128. {
  129. if ( aEls[i].getAttribute( 'FCKTempLabel' ) )
  130. {
  131. aEls[i].removeAttribute( 'FCKTempLabel' ) ;
  132. return aEls[i] ;
  133. }
  134. }
  135. return null ;
  136. }