fcktools.js
资源名称:H3_OA.rar [点击查看]
上传用户:li2971742
上传日期:2021-11-18
资源大小:39096k
文件大小:7k
源码类别:
OA系统
开发平台:
C#
- /*
- * FCKeditor - The text editor for internet
- * Copyright (C) 2003-2006 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/
- *
- * "Support Open Source software. What about a donation today?"
- *
- * File Name: fcktools.js
- * Utility functions.
- *
- * File Authors:
- * Frederico Caldeira Knabben (fredck@fckeditor.net)
- */
- var FCKTools = new Object() ;
- FCKTools.AppendStyleSheet = function( documentElement, cssFileUrlOrArray )
- {
- if ( typeof( cssFileUrlOrArray ) == 'string' )
- return this._AppendStyleSheet( documentElement, cssFileUrlOrArray ) ;
- else
- {
- for ( var i = 0 ; i < cssFileUrlOrArray.length ; i++ )
- this._AppendStyleSheet( documentElement, cssFileUrlOrArray[i] ) ;
- }
- }
- /**
- * Gets the value of the hidden INPUT element that is associated to the editor.
- * This element has its ID set to the editor's instance name so the user refers
- * to the instance name when getting the posted data.
- */
- FCKTools.GetLinkedFieldValue = function()
- {
- return FCK.LinkedField.value ;
- }
- /**
- * Attachs a function call to the submit event of the linked field form. This
- * function us generally used to update the linked field value before
- * submitting the form.
- */
- FCKTools.AttachToLinkedFieldFormSubmit = function( functionPointer )
- {
- // Gets the linked field form
- var oForm = FCK.LinkedField.form ;
- // Return now if no form is available
- if (!oForm) return ;
- // Attaches the functionPointer call to the onsubmit event
- if ( FCKBrowserInfo.IsIE )
- oForm.attachEvent( "onsubmit", functionPointer ) ;
- else
- oForm.addEventListener( 'submit', functionPointer, false ) ;
- //**
- // Attaches the functionPointer call to the submit method
- // This is done because IE doesn't fire onsubmit when the submit method is called
- // BEGIN --
- // Creates a Array in the form object that will hold all Attached function call
- // (in the case there are more than one editor in the same page)
- if (! oForm.updateFCKeditor) oForm.updateFCKeditor = new Array() ;
- // Adds the function pointer to the array of functions to call when "submit" is called
- oForm.updateFCKeditor[oForm.updateFCKeditor.length] = functionPointer ;
- // Switches the original submit method with a new one that first call all functions
- // on the above array and the call the original submit
- // IE sees it oForm.submit function as an 'object'.
- if (! oForm.originalSubmit && ( typeof( oForm.submit ) == 'function' || ( !oForm.submit.tagName && !oForm.submit.length ) ) )
- {
- // Creates a copy of the original submit
- oForm.originalSubmit = oForm.submit ;
- // Creates our replacement for the submit
- oForm.submit = FCKTools_SubmitReplacer ;
- }
- // END --
- }
- function FCKTools_SubmitReplacer()
- {
- if (this.updateFCKeditor)
- {
- // Calls all functions in the functions array
- for (var i = 0 ; i < this.updateFCKeditor.length ; i++)
- this.updateFCKeditor[i]() ;
- }
- // Calls the original "submit"
- this.originalSubmit() ;
- }
- // Get the window object where the element is placed in.
- FCKTools.GetElementWindow = function( element )
- {
- return this.GetDocumentWindow( this.GetElementDocument( element ) ) ;
- }
- FCKTools.GetDocumentWindow = function( doc )
- {
- // With Safari, there is not way to retrieve the window from the document, so we must fix it.
- if ( FCKBrowserInfo.IsSafari && !doc.parentWindow )
- this.FixDocumentParentWindow( window.top ) ;
- return doc.parentWindow || doc.defaultView ;
- }
- /*
- This is a Safari specific function that fix the reference to the parent
- window from the document object.
- */
- FCKTools.FixDocumentParentWindow = function( targetWindow )
- {
- targetWindow.document.parentWindow = targetWindow ;
- for ( var i = 0 ; i < targetWindow.frames.length ; i++ )
- FCKTools.FixDocumentParentWindow( targetWindow.frames[i] ) ;
- }
- FCKTools.GetParentWindow = function( document )
- {
- return document.contentWindow ? document.contentWindow : document.parentWindow ;
- }
- FCKTools.HTMLEncode = function( text )
- {
- if ( !text )
- return '' ;
- text = text.replace( /&/g, '&' ) ;
- text = text.replace( /</g, '<' ) ;
- text = text.replace( />/g, '>' ) ;
- return text ;
- }
- /**
- * Adds an option to a SELECT element.
- */
- FCKTools.AddSelectOption = function( selectElement, optionText, optionValue )
- {
- var oOption = FCKTools.GetElementDocument( selectElement ).createElement( "OPTION" ) ;
- oOption.text = optionText ;
- oOption.value = optionValue ;
- selectElement.options.add(oOption) ;
- return oOption ;
- }
- FCKTools.RunFunction = function( func, thisObject, paramsArray, timerWindow )
- {
- if ( func )
- this.SetTimeout( func, 0, thisObject, paramsArray, timerWindow ) ;
- }
- FCKTools.SetTimeout = function( func, milliseconds, thisObject, paramsArray, timerWindow )
- {
- return ( timerWindow || window ).setTimeout(
- function()
- {
- if ( paramsArray )
- func.apply( thisObject, [].concat( paramsArray ) ) ;
- else
- func.apply( thisObject ) ;
- },
- milliseconds ) ;
- }
- FCKTools.SetInterval = function( func, milliseconds, thisObject, paramsArray, timerWindow )
- {
- return ( timerWindow || window ).setInterval(
- function()
- {
- func.apply( thisObject, paramsArray || [] ) ;
- },
- milliseconds ) ;
- }
- FCKTools.ConvertStyleSizeToHtml = function( size )
- {
- return size.endsWith( '%' ) ? size : parseInt( size ) ;
- }
- FCKTools.ConvertHtmlSizeToStyle = function( size )
- {
- return size.endsWith( '%' ) ? size : ( size + 'px' ) ;
- }
- // START iCM MODIFICATIONS
- // Amended to accept a list of one or more ascensor tag names
- // Amended to check the element itself before working back up through the parent hierarchy
- FCKTools.GetElementAscensor = function( element, ascensorTagNames )
- {
- // var e = element.parentNode ;
- var e = element ;
- var lstTags = "," + ascensorTagNames.toUpperCase() + "," ;
- while ( e )
- {
- if ( lstTags.indexOf( "," + e.nodeName.toUpperCase() + "," ) != -1 )
- return e ;
- e = e.parentNode ;
- }
- return null ;
- }
- // END iCM MODIFICATIONS
- FCKTools.CreateEventListener = function( func, params )
- {
- var f = function()
- {
- var aAllParams = [] ;
- for ( var i = 0 ; i < arguments.length ; i++ )
- aAllParams.push( arguments[i] ) ;
- func.apply( this, aAllParams.concat( params ) ) ;
- }
- return f ;
- }
- FCKTools.GetElementDocument = function ( element )
- {
- return element.ownerDocument || element.document ;
- }