⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fckplugin.js

📁 完美的在线教育系统
💻 JS
字号:
// ================================================// Image Manager FCKeditor interface (IE & Gecko)// ================================================// Plugin Interface: Brent Kelly - Zeald.com// (c)2005 All rights reserved.// ================================================// Integrates FCKeditor with:// PHP image manager http://www.zhuo.org/htmlarea/// ================================================// Revision: 1.0                   Date: 06/03/2005// ================================================// ==============       config settings       ===========// plugin's language	var _editor_lang = "en";// show image manager or show immediately the image editor// false = use manager, standard behavior// true = no manager, only editing the image	var IM_directEdit = false;// ================================================	var FCKImageManager = function(name) {  		this.Name = name;			}  	// manage the plugins' button behavior  	FCKImageManager.prototype.GetState = function() {  		return FCK_TRISTATE_OFF;  	}  	 	FCKCommands.RegisterCommand('ImageManager', new FCKImageManager('ImageManager')) ;	  	// Create the toolbar button. 	var oImageManagerItem = new FCKToolbarButton( 'ImageManager', FCKLang["DlgImageManagerTitle"], null, null, false, true ) ; 	oImageManagerItem.IconPath = FCKConfig.PluginsPath + 'ImageManager/icon.gif' ; 	FCKToolbarItems.RegisterItem( 'ImageManager', oImageManagerItem ) ;		FCKImageManager.prototype.Execute = function() {  		ImageManager_click(FCK, null)		}    // Open the Placeholder dialog on double click.    function ImageManager_doubleClick (img) {		if ( img.tagName == 'IMG' ) FCKCommands.GetCommand( 'ImageManager' ).Execute() ;	}	FCK.RegisterDoubleClickHandler( ImageManager_doubleClick, 'IMG' ) ;		// starting ImageManager	function ImageManager_click(editor, sender) {		var wArgs = {};		if(FCKSelection.GetType() == 'Control') {			var sElm = FCK.Selection.GetSelectedElement();		} if(FCKSelection.GetType() == 'Text') {			var sElm = FCKSelection.GetParentElement();		}				if (sElm != null && sElm.nodeName.toLowerCase() == 'img') var im = sElm;  // is current cell a image ?						if (im) { // selected object is image			wArgs.f_url		= im.src ? im.src : '';			wArgs.f_alt		= im.alt ? im.alt : '';			wArgs.f_title 	= im.title ? im.title : '';			wArgs.f_width 	= im.style.width  ? im.style.width  : im.width;			wArgs.f_height 	= im.style.height ? im.style.height : im.height;			wArgs.f_border 	= im.border ? im.border : '';			wArgs.f_align 	= im.align ? im.align : '';			wArgs.f_className = im.className ? im.className : '';						// (-1 when not set under gecko for some reason)			wArgs.f_horiz = (im.hspace >= 0) ? im.attributes['hspace'].nodeValue : ''; 			wArgs.f_vert = (im.vspace >= 0) ? wArgs.f_vert = im.attributes['vspace'].nodeValue : '';					} else {			wArgs = null;		}		//-------------------------------------------------------------------------		var manager = new ImageManager();		manager.insert(wArgs);	}//-------------------------------------------------------------------------function setAttrib(element, name, value, fixval) { // set element attributes	if (!fixval && value != null) {		var re = new RegExp('[^0-9%]', 'g');		value = value.replace(re, '');	}	if (value != null && value != '') {		element.setAttribute(name, value);	} else {		element.removeAttribute(name);	}}/* IMAGE MANAGER OBJECT - A CROSS BETWEEN THE STANDALONE & HTMLAREA PLUGIN VERSIONS */function ImageManager(){	//var tt = ImageManager.I18N;		};// Open up the plugin's dialog with manager or editor.ImageManager.prototype.insert = function(outparam){	// show image editor	if (IM_directEdit)	{		// image selected?		var sElm = FCK.Selection.GetSelectedElement();		if (sElm != null && sElm.nodeName.toLowerCase() == 'img')		{			// opening a dialog with the image editor - editor.php must receive the path to the image relative to your 'base_url' defined in 'config.inc.php'			// for direct Editing, we assume that there are no subdirectories in 'base_url' so our path is just '/'			lastSlashPosition = sElm.src.lastIndexOf('/') + 1;			imgFileName = sElm.src.substring(lastSlashPosition);			var url = FCKConfig.PluginsPath + 'ImageManager/editor.php?img=' + "/" + imgFileName;			Dialog(url, null, outparam);		}		// no image selected - stop		else		{			alert("no image selected");			return false;		}	}	// show image manager	else	{		var manager = FCKConfig.PluginsPath+'ImageManager/manager.php?uploadPath='+FCKConfig.IMUploadPath;				Dialog(manager, function(param) {			if (!param) return false; // user must have pressed cancel			var sElm = FCK.Selection.GetSelectedElement();			if (sElm != null && sElm.nodeName.toLowerCase() == 'img') var im = sElm;							if (!im) { // new image// no image - create new image				im = FCK.CreateElement('IMG');								}			// set image attributes							setAttrib(im, 'src', param.f_url, true);							setAttrib(im, 'alt', param.f_alt, true);			setAttrib(im, 'title', param.f_title, true);			setAttrib(im, 'align', param.f_align, true);			setAttrib(im, 'border', param.f_border);			setAttrib(im, 'hspace', param.f_horiz);			setAttrib(im, 'vspace', param.f_vert);			setAttrib(im, 'width', param.f_width);			setAttrib(im, 'height', param.f_height);							setAttrib(im, 'className', param.f_className, true); 			return;		}, outparam);	}};// Dialog v3.0 - Copyright (c) 2003-2004 interactivetools.com, inc.// This copyright notice MUST stay intact for use (see license.txt).//// Portions (c) dynarch.com, 2003-2004//// A free WYSIWYG editor replacement for <textarea> fields.// For full source code and docs, visit http://www.interactivetools.com///// Version 3.0 developed by Mihai Bazon.//   http://dynarch.com/mishoo//// $Id: dialog.js 26 2004-03-31 02:35:21Z Wei Zhuo $// Though "Dialog" looks like an object, it isn't really an object.  Instead// it's just namespace for protecting global symbols.function Dialog(url, action, init) {	if (typeof init == "undefined") {		init = window;	// pass this window object by default	}	Dialog._geckoOpenModal(url, action, init);};Dialog._parentEvent = function(ev) {	setTimeout( function() { if (Dialog._modal && !Dialog._modal.closed) { Dialog._modal.focus() } }, 50);	if (Dialog._modal && !Dialog._modal.closed) {		Dialog._stopEvent(ev);	}};// should be a function, the return handler of the currently opened dialog.Dialog._return = null;// constant, the currently opened dialogDialog._modal = null;// the dialog will read it's args from this variableDialog._arguments = null;Dialog._geckoOpenModal = function(url, action, init) {	//var urlLink = "hadialog"+url.toString();	var myURL = "hadialog"+url;	var regObj = /\W/g;	myURL = myURL.replace(regObj,'_');	var dlg = window.open(url, myURL,			      "toolbar=no,menubar=no,personalbar=no,width=10,height=10," +			      "scrollbars=no,resizable=yes,modal=yes,dependable=yes");	Dialog._modal = dlg;	Dialog._arguments = init;	// capture some window's events	function capwin(w) {		Dialog._addEvent(w, "click", Dialog._parentEvent);		Dialog._addEvent(w, "mousedown", Dialog._parentEvent);		Dialog._addEvent(w, "focus", Dialog._parentEvent);	};	// release the captured events	function relwin(w) {		Dialog._removeEvent(w, "click", Dialog._parentEvent);		Dialog._removeEvent(w, "mousedown", Dialog._parentEvent);		Dialog._removeEvent(w, "focus", Dialog._parentEvent);	};	capwin(window.document);	// capture other frames	for (var i = 0; i < window.frames.length; capwin(window.frames[i++].document));	// make up a function to be called when the Dialog ends.	Dialog._return = function (val) {		if (val && action) {			action(val);		}		relwin(window.document);		// capture other frames		for (var i = 0; i < window.frames.length; relwin(window.frames[i++].document));		Dialog._modal = null;	};};// event handlingDialog._addEvent = function(el, evname, func) {	if (Dialog.is_ie) {		el.attachEvent("on" + evname, func);	} else {				el.addEventListener(evname, func, true);	}};Dialog._removeEvent = function(el, evname, func) {	if (Dialog.is_ie) {		el.detachEvent("on" + evname, func);	} else {		el.removeEventListener(evname, func, true);	}};Dialog._stopEvent = function(ev) {	if (Dialog.is_ie) {		ev.cancelBubble = true;		ev.returnValue = false;	} else {		ev.preventDefault();		ev.stopPropagation();	}};Dialog.agt = navigator.userAgent.toLowerCase();Dialog.is_ie	   = ((Dialog.agt.indexOf("msie") != -1) && (Dialog.agt.indexOf("opera") == -1));

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -