fck_onload.js
上传用户:wlfwy2004
上传日期:2016-12-12
资源大小:33978k
文件大小:6k
源码类别:

Jsp/Servlet

开发平台:

Java

  1. /*
  2.  * FCKeditor - The text editor for internet
  3.  * Copyright (C) 2003-2005 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.  * File Name: fck_onload.js
  12.  *  This is the script that is called when the editor page is loaded inside
  13.  *  its IFRAME. It's the editor startup.
  14.  * 
  15.  * File Authors:
  16.  *  Frederico Caldeira Knabben (fredck@fckeditor.net)
  17.  */
  18. // Disable the context menu in the editor (areas outside the editor area).
  19. function Window_OnContextMenu( e )
  20. {
  21. if ( e )
  22. e.preventDefault() ; // The Gecko way.
  23. else
  24. {
  25. if ( event.srcElement == document.getElementById('eSourceField') )
  26. return true ;
  27. }
  28. return false ; // The IE way.
  29. }
  30. window.document.oncontextmenu = Window_OnContextMenu ;
  31. // Gecko browsers doens't calculate well that IFRAME size so we must
  32. // recalculate it every time the window size changes.
  33. if ( FCKBrowserInfo.IsGecko )
  34. {
  35. function Window_OnResize()
  36. {
  37. var oFrame = document.getElementById('eEditorArea') ;
  38. oFrame.height = 0 ;
  39. var oCell = document.getElementById( FCK.EditMode == FCK_EDITMODE_WYSIWYG ? 'eWysiwygCell' : 'eSource' ) ;
  40. var iHeight = oCell.offsetHeight ;
  41. oFrame.height = iHeight - 2 ;
  42. }
  43. window.onresize = Window_OnResize ;
  44. }
  45. if ( FCKBrowserInfo.IsIE )
  46. {
  47. var aCleanupDocs = new Array() ;
  48. aCleanupDocs[0] = document ;
  49. // On IE, some circular references must be cleared to avoid memory leak.
  50. function Window_OnBeforeUnload()
  51. {
  52. // if ( typeof( FCKToolbarSet ) != 'undefined' )
  53. // FCKToolbarSet.Collapse() ;
  54. var d, e ;
  55. var j = 0 ;
  56. while ( d = aCleanupDocs[j++] )
  57. {
  58. var i = 0 ;
  59. while ( e = d.getElementsByTagName("DIV").item(i++) )
  60. {
  61. if ( e.FCKToolbarButton )
  62. e.FCKToolbarButton = null ;
  63. if ( e.FCKSpecialCombo )
  64. e.FCKSpecialCombo = null ;
  65. if ( e.Command )
  66. e.Command = null ;
  67. }
  68. i = 0 ;
  69. while ( e = d.getElementsByTagName("TR").item(i++) )
  70. {
  71. if ( e.FCKContextMenuItem )
  72. e.FCKContextMenuItem = null ;
  73. }
  74. aCleanupDocs[j] = null ;
  75. }
  76. if ( typeof( FCKTempBin ) != 'undefined' )
  77. FCKTempBin.Reset() ;
  78. }
  79. window.attachEvent( "onunload", Window_OnBeforeUnload ) ;
  80. }
  81. // The editor startup follows these steps:
  82. // 1. Load the editor main page (fckeditor.html).
  83. // 2. Load the main configuration file (fckconfig.js)
  84. // 3. Process the configurations set directly in the page code (just load then).
  85. // 4. Override the configurations with the custom config file (if set).
  86. // 5. Override the configurations with that ones set directly in the page code.
  87. // 6. Load the editor skin styles CSS files.
  88. // 7. Load the first part of tha main scripts.
  89. // 8. Load the language file.
  90. // 9. Start the editor.
  91. // Start the editor as soon as the window is loaded.
  92. function Window_OnLoad()
  93. {
  94. // There is a bug on Netscape when rendering the frame. It goes over the
  95. // right border. So we must correct it.
  96. if ( FCKBrowserInfo.IsNetscape )
  97. document.getElementById('eWysiwygCell').style.paddingRight = '2px' ;
  98. LoadConfigFile() ;
  99. }
  100. window.onload = Window_OnLoad ;
  101. function LoadConfigFile()
  102. {
  103. FCKScriptLoader.OnEmpty = ProcessHiddenField ;
  104. // First of all load the configuration file.
  105. FCKScriptLoader.AddScript( '../fckconfig.js' ) ;
  106. }
  107. function ProcessHiddenField()
  108. {
  109. FCKConfig.ProcessHiddenField() ;
  110. LoadCustomConfigFile() ;
  111. }
  112. function LoadCustomConfigFile()
  113. {
  114. // Load the custom configurations file (if defined).
  115. if ( FCKConfig.CustomConfigurationsPath.length > 0 )
  116. {
  117. // Wait for the configuration file to be loaded to call the "LoadPageConfig".
  118. FCKScriptLoader.OnEmpty = LoadPageConfig ;
  119. FCKScriptLoader.AddScript( FCKConfig.CustomConfigurationsPath ) ;
  120. }
  121. else
  122. {
  123. // Load the page defined configurations immediately.
  124. LoadPageConfig() ;
  125. }
  126. }
  127. function LoadPageConfig()
  128. {
  129. FCKConfig.LoadPageConfig() ;
  130. // Load the styles for the configured skin.
  131. LoadStyles() ;
  132. }
  133. function LoadStyles()
  134. {
  135. if( window.console ) window.console.log( 'LoadStyles()' ) ; // @Packager.Compactor.RemoveLine
  136. FCKScriptLoader.OnEmpty = LoadScripts ;
  137. // Load the active skin CSS.
  138. FCKScriptLoader.AddScript( FCKConfig.SkinPath + 'fck_editor.css' ) ;
  139. FCKScriptLoader.AddScript( FCKConfig.SkinPath + 'fck_contextmenu.css' ) ;
  140. }
  141. function LoadScripts()
  142. {
  143. if( window.console ) window.console.log( 'LoadScripts()' ) ; // @Packager.Compactor.RemoveLine
  144. FCKScriptLoader.OnEmpty = null ;
  145. // @Packager.Compactor.Remove.Start
  146. var sSuffix = FCKBrowserInfo.IsIE ? 'ie' : 'gecko' ;
  147. with ( FCKScriptLoader )
  148. {
  149. AddScript( '_source/internals/fckdebug.js' ) ;
  150. AddScript( '_source/internals/fcktools.js' ) ;
  151. AddScript( '_source/internals/fcktools_' + sSuffix + '.js' ) ;
  152. AddScript( '_source/internals/fckregexlib.js' ) ;
  153. AddScript( '_source/internals/fcklanguagemanager.js' ) ;
  154. AddScript( '_source/classes/fckevents.js' ) ;
  155. AddScript( '_source/internals/fckxhtmlentities.js' ) ;
  156. AddScript( '_source/internals/fckxhtml.js' ) ;
  157. AddScript( '_source/internals/fckxhtml_' + sSuffix + '.js' ) ;
  158. AddScript( '_source/internals/fckcodeformatter.js' ) ;
  159. AddScript( '_source/internals/fckundo_' + sSuffix + '.js' ) ;
  160. AddScript( '_source/internals/fck_1.js' ) ;
  161. AddScript( '_source/internals/fck_1_' + sSuffix + '.js' ) ;
  162. }
  163. // @Packager.Compactor.Remove.End
  164. /* @Packager.Compactor.RemoveLine
  165. if ( FCKBrowserInfo.IsIE )
  166. FCKScriptLoader.AddScript( 'js/fckeditorcode_ie_1.js' ) ;
  167. else
  168. FCKScriptLoader.AddScript( 'js/fckeditorcode_gecko_1.js' ) ;
  169. @Packager.Compactor.RemoveLine */
  170. }
  171. function LoadLanguageFile()
  172. {
  173. if( window.console ) window.console.log( 'LoadLanguageFile()' ) ; // @Packager.Compactor.RemoveLine
  174. FCKScriptLoader.OnEmpty = LoadEditor ;
  175. if( window.console ) window.console.log( 'Active Language: ' + FCKLanguageManager.ActiveLanguage.Code ) ; // @Packager.Compactor.RemoveLine
  176. FCKScriptLoader.AddScript( 'lang/' + FCKLanguageManager.ActiveLanguage.Code + '.js' ) ;
  177. }
  178. function LoadEditor()
  179. {
  180. if( window.console ) window.console.log( 'LoadEditor()' ) ; // @Packager.Compactor.RemoveLine
  181. // Removes the OnEmpty listener.
  182. FCKScriptLoader.OnEmpty = null ;
  183. // Correct the editor layout to the correct language direction.
  184. if ( FCKLang )
  185. window.document.dir = FCKLang.Dir ;
  186. // Starts the editor.
  187. FCK.StartEditor() ;
  188. }