fckplugin.js
上传用户:zghglow
上传日期:2022-08-09
资源大小:27227k
文件大小:2k
源码类别:

WEB源码(ASP,PHP,...)

开发平台:

JavaScript

  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: fckplugin.js
  14.  *  Plugin: automatically resizes the editor until a configurable maximun 
  15.  *  height (FCKConfig.AutoGrowMax), based on its contents.
  16.  * 
  17.  * File Authors:
  18.  *  Frederico Caldeira Knabben (fredck@fckeditor.net)
  19.  */
  20. var FCKAutoGrow_Min = window.frameElement.offsetHeight ;
  21. function FCKAutoGrow_Check()
  22. {
  23. var oInnerDoc = FCK.EditorDocument ;
  24. var iFrameHeight, iInnerHeight ;
  25. if ( FCKBrowserInfo.IsIE )
  26. {
  27. iFrameHeight = FCK.EditorWindow.frameElement.offsetHeight ;
  28. iInnerHeight = oInnerDoc.body.scrollHeight ;
  29. }
  30. else
  31. {
  32. iFrameHeight = FCK.EditorWindow.innerHeight ;
  33. iInnerHeight = oInnerDoc.body.offsetHeight ;
  34. }
  35. var iDiff = iInnerHeight - iFrameHeight ;
  36. if ( iDiff != 0 )
  37. {
  38. var iMainFrameSize = window.frameElement.offsetHeight ;
  39. if ( iDiff > 0 && iMainFrameSize < FCKConfig.AutoGrowMax )
  40. {
  41. iMainFrameSize += iDiff ;
  42. if ( iMainFrameSize > FCKConfig.AutoGrowMax )
  43. iMainFrameSize = FCKConfig.AutoGrowMax ;
  44. }
  45. else if ( iDiff < 0 && iMainFrameSize > FCKAutoGrow_Min )
  46. {
  47. iMainFrameSize += iDiff ;
  48. if ( iMainFrameSize < FCKAutoGrow_Min )
  49. iMainFrameSize = FCKAutoGrow_Min ;
  50. }
  51. else
  52. return ;
  53. window.frameElement.height = iMainFrameSize ;
  54. }
  55. }
  56. FCK.AttachToOnSelectionChange( FCKAutoGrow_Check ) ;
  57. function FCKAutoGrow_SetListeners()
  58. {
  59. FCK.EditorWindow.attachEvent( 'onscroll', FCKAutoGrow_Check ) ;
  60. FCK.EditorDocument.attachEvent( 'onkeyup', FCKAutoGrow_Check ) ;
  61. }
  62. if ( FCKBrowserInfo.IsIE )
  63. {
  64. // FCKAutoGrow_SetListeners() ;
  65. FCK.Events.AttachEvent( 'OnAfterSetHTML', FCKAutoGrow_SetListeners ) ;
  66. }
  67. function FCKAutoGrow_CheckEditorStatus( sender, status )
  68. {
  69. if ( status == FCK_STATUS_COMPLETE )
  70. FCKAutoGrow_Check() ;
  71. }
  72. FCK.Events.AttachEvent( 'OnStatusChange', FCKAutoGrow_CheckEditorStatus ) ;