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

📄 upload-image.js

📁 eGroupWare is a multi-user, web-based groupware suite developed on a custom set of PHP-based APIs. C
💻 JS
字号:
// UploadImage Plugin for HTMLArea-3.0// Implementation by Mihai Bazon.  Sponsored by http://thycotic.com//// htmlArea v3.0 - Copyright (c) 2002 interactivetools.com, inc.// This notice MUST stay intact for use (see license.txt).//// 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 for InteractiveTools.//   http://dynarch.com/mishoo//// $Id: upload-image.js,v 1.2 2004/06/15 00:27:01 mipmip Exp $function UploadImage(editor) {	this.editor = editor;	var cfg = editor.config;//	cfg.fullPage = true;	var tt = UploadImage.I18N;	var self = this;/*	cfg.registerButton("UploadImage", tt["Upload Image"], editor.imgURL("up_image.gif", "UploadImage"), false,	function(editor, id) {		self.buttonPress(editor, id);	});*/	cfg.registerButton("UploadImage", tt["Upload Image"], editor.imgURL("up_image.gif", "UploadImage"), false,			   function(editor, id) {				   self.buttonPress();			   });	// add a new line in the toolbar	cfg.toolbar[0].splice(29, 0, "separator");	cfg.toolbar[0].splice(30, 0, "UploadImage");};UploadImage._pluginInfo = {	name          : "UploadImage",	version       : "1.0",	developer     : "Pim Snel",	developer_url : "http://lingewoud.com",	c_owner       : "Mihai Bazon",	sponsor       : "Lingewoud b.v. - Netherlands",	sponsor_url   : "http://lingewoud.com",	license       : "GPL"};UploadImage.prototype.zzzbuttonPress = function(editor, id) {	var self = this;	switch (id) 	{	    case "UploadImage":		var doc = editor._doc;		var links = doc.getElementsByTagName("link");		var style1 = '';		var style2 = '';		for (var i = links.length; --i >= 0;) 		{			var link = links[i];			if (/stylesheet/i.test(link.rel)) 			{				if (/alternate/i.test(link.rel))					style2 = link.href;				else					style1 = link.href;			}		}		var title = doc.getElementsByTagName("title")[0];		title = title ? title.innerHTML : '';		var init = 		{			f_doctype      : editor.doctype,			f_title        : title,			f_body_bgcolor : HTMLArea._colorToRgb(doc.body.style.backgroundColor),			f_body_fgcolor : HTMLArea._colorToRgb(doc.body.style.color),			f_base_style   : style1,			f_alt_style    : style2,			editor         : editor		};		Dialog(_editor_url+"plugins/UploadImage/popups/insert_image.php", function(image) 		{			self._insertImage(image);//			self.setDocProp(params);//			alert(params[1]);		}, init);/*		editor._popupDialog("plugin://UploadImage/insert_image.php", function(params) {				self.setDocProp(params);				}, init);*/	break;	}};// Called when the user clicks on "InsertImage" button.  If an image is already// there, it will just modify it's properties.UploadImage.prototype.buttonPress = function(image) {		var doc = editor._doc;//	var editor = this;	// for nested functions	var outparam = null;	var init = 	{		f_doctype      : editor.doctype,		editor         : editor	};	if (typeof image == "undefined") {		image = editor.getParentElement();		if (image && !/^img$/i.test(image.tagName))			image = null;	}	if (image) outparam = {		f_url    : HTMLArea.is_ie ? editor.stripBaseURL(image.src) : image.getAttribute("src"),		f_alt    : image.alt,		f_border : image.border,		f_align  : image.align,		f_vert   : image.vspace,		f_horiz  : image.hspace	};	Dialog(_editor_url+"plugins/UploadImage/popups/insert_image.php", function(param){ 	if (!param) {	// user must have pressed Cancel	return false;	}				var img = image;//		alert(param.f_url);		if (!img) {			var sel = editor._getSelection();			var range = editor._createRange(sel);			editor._doc.execCommand("insertimage", false, param.f_url);						if (HTMLArea.is_ie) {				img = range.parentElement();				// wonder if this works...				if (img.tagName.toLowerCase() != "img") {					img = img.previousSibling;				}			} else {				img = range.startContainer.previousSibling;			}		} else {			img.src = param.f_url;		}		for (field in param) {			var value = param[field];			switch (field) {				case "f_alt"    : img.alt	 = value; break;				case "f_border" : img.border = parseInt(value || "0"); break;				case "f_align"  : img.align	 = value; break;				case "f_vert"   : img.vspace = parseInt(value || "0"); break;				case "f_horiz"  : img.hspace = parseInt(value || "0"); break;			}		}	}, outparam);};UploadImage.prototype.setDocProp = function(params) {	var txt = "";	var doc = this.editor._doc;	var head = doc.getElementsByTagName("head")[0];	var links = doc.getElementsByTagName("link");	var style1 = null;	var style2 = null;	for (var i = links.length; --i >= 0;) {		var link = links[i];		if (/stylesheet/i.test(link.rel)) {			if (/alternate/i.test(link.rel))				style2 = link;			else				style1 = link;		}	}	function createLink(alt) {		var link = doc.createElement("link");		link.rel = alt ? "alternate stylesheet" : "stylesheet";		head.appendChild(link);		return link;	};	if (!style1 && params.f_base_style)		style1 = createLink(false);	if (params.f_base_style)		style1.href = params.f_base_style;	else if (style1)		head.removeChild(style1);	if (!style2 && params.f_alt_style)		style2 = createLink(true);	if (params.f_alt_style)		style2.href = params.f_alt_style;	else if (style2)		head.removeChild(style2);	//cfg.registerButton("my-sample", "Class: sample", "ed_custom.gif", false,			function testinsert(arg1,arg2) {			if (HTMLArea.is_ie) {			editor.insertHTML("<img src=\"arg1\" alt=\"\" />");			var r = editor._doc.selection.createRange();			r.move("character", -2);			r.moveEnd("character", 2);			r.select();			} else { // Gecko/W3C compliant			var n = editor._doc.createElement("img");			n.className = "sample";			editor.insertNodeAtSelection(n);			var sel = editor._iframe.contentWindow.getSelection();			sel.removeAllRanges();			var r = editor._doc.createRange();			r.setStart(n, 0);			r.setEnd(n, 0);			sel.addRange(r);			}			}			testinsert(params[1]);			for (var i in params) {	//		alert(params[i]);		var val = params[i];		switch (i) {		    case "f_title":			var title = doc.getElementsByTagName("title")[0];			if (!title) {				title = doc.createElement("title");				head.appendChild(title);			} else while (node = title.lastChild)				title.removeChild(node);			if (!HTMLArea.is_ie)				title.appendChild(doc.createTextNode(val));			else				doc.title = val;			break;		    case "f_doctype":			this.editor.setDoctype(val);			break;		    case "f_body_bgcolor":			doc.body.style.backgroundColor = val;			break;		    case "f_body_fgcolor":			doc.body.style.color = val;			break;		}	}};

⌨️ 快捷键说明

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