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

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: fckconfig.js
  12.  *  Creates and initializes the FCKConfig object.
  13.  * 
  14.  * File Authors:
  15.  *  Frederico Caldeira Knabben (fredck@fckeditor.net)
  16.  */
  17. var FCKConfig = FCK.Config = new Object() ;
  18. // Editor Base Path
  19. if ( document.location.protocol == 'file:' )
  20. {
  21. FCKConfig.BasePath = document.location.pathname.substr(1) ;
  22. FCKConfig.BasePath = FCKConfig.BasePath.replace( /\/gi, '/' ) ;
  23. FCKConfig.BasePath = 'file://' + FCKConfig.BasePath.substring(0,FCKConfig.BasePath.lastIndexOf('/')+1) ;
  24. }
  25. else
  26. {
  27. FCKConfig.BasePath = document.location.pathname.substring(0,document.location.pathname.lastIndexOf('/')+1) ;
  28. FCKConfig.FullBasePath = document.location.protocol + '//' + document.location.host + FCKConfig.BasePath ;
  29. }
  30. FCKConfig.EditorPath = FCKConfig.BasePath.replace( /editor/$/, '' ) ;
  31. // Override the actual configuration values with the values passed throw the 
  32. // hidden field "<InstanceName>___Config".
  33. FCKConfig.ProcessHiddenField = function()
  34. {
  35. this.PageConfig = new Object() ;
  36. // Get the hidden field.
  37. var oConfigField = window.parent.document.getElementById( FCK.Name + '___Config' ) ;
  38. // Do nothing if the config field was not defined.
  39. if ( ! oConfigField ) return ;
  40. var aCouples = oConfigField.value.split('&') ;
  41. for ( var i = 0 ; i < aCouples.length ; i++ )
  42. {
  43. if ( aCouples[i].length == 0 )
  44. continue ;
  45. var aConfig = aCouples[i].split( '=' ) ;
  46. var sKey = unescape( aConfig[0] ) ;
  47. var sVal = unescape( aConfig[1] ) ;
  48. if ( sKey == 'CustomConfigurationsPath' ) // The Custom Config File path must be loaded immediately.
  49. FCKConfig[ sKey ] = sVal ;
  50. else if ( sVal.toLowerCase() == "true" ) // If it is a boolean TRUE.
  51. this.PageConfig[ sKey ] = true ;
  52. else if ( sVal.toLowerCase() == "false" ) // If it is a boolean FALSE.
  53. this.PageConfig[ sKey ] = false ;
  54. else if ( ! isNaN( sVal ) ) // If it is a number.
  55. this.PageConfig[ sKey ] = parseInt( sVal ) ;
  56. else // In any other case it is a string.
  57. this.PageConfig[ sKey ] = sVal ;
  58. }
  59. }
  60. FCKConfig.LoadPageConfig = function()
  61. {
  62. for ( var sKey in this.PageConfig )
  63. FCKConfig[ sKey ] = this.PageConfig[ sKey ] ;
  64. }
  65. // Define toolbar sets collection.
  66. FCKConfig.ToolbarSets = new Object() ;
  67. // Defines the plugins collection.
  68. FCKConfig.Plugins = new Object() ;
  69. FCKConfig.Plugins.Items = new Array() ;
  70. FCKConfig.Plugins.Add = function( name, langs, path )
  71. {
  72. FCKConfig.Plugins.Items.addItem( [name, langs, path] ) ;
  73. }