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

📄 tiny_mce_popup.js

📁 Joomla!是一套获得过多个奖项的内容管理系统(Content Management System, CMS)。Joomla!采用PHP+MySQL数据库开发
💻 JS
字号:
// Some global instances, this will be filled latervar tinyMCE = null, tinyMCELang = null;function TinyMCE_Popup() {};TinyMCE_Popup.prototype = {	findWin : function(w) {		var c;		// Check parents		c = w;		while (c && (c = c.parent) != null) {			if (typeof(c.tinyMCE) != "undefined")				return c;		}		// Check openers		c = w;		while (c && (c = c.opener) != null) {			if (typeof(c.tinyMCE) != "undefined")				return c;		}		// Try top		if (typeof(top.tinyMCE) != "undefined")			return top;		return null;	},	init : function() {		var win = window.opener ? window.opener : window.dialogArguments, c;		var inst, re, title, divElm;		if (!win)			win = this.findWin(window);		if (!win) {			alert("tinyMCE object reference not found from popup.");			return;		}		window.opener = win;		this.windowOpener = win;		this.onLoadEval = "";		// Setup parent references		tinyMCE = win.tinyMCE;		tinyMCELang = win.tinyMCELang;		inst = tinyMCE.selectedInstance;		this.isWindow = tinyMCE.getWindowArg('mce_inside_iframe', false) == false;		this.storeSelection = (tinyMCE.isRealIE) && !this.isWindow && tinyMCE.getWindowArg('mce_store_selection', true);		if (this.isWindow)			window.focus();		// Store selection		if (this.storeSelection)			inst.selectionBookmark = inst.selection.getBookmark(true);		// Setup dir		if (tinyMCELang.lang_dir)			document.dir = tinyMCELang.lang_dir;		// Setup title		re = new RegExp('{|\\\$|}', 'g');		title = document.title.replace(re, "");		if (typeof(tinyMCELang[title]) != "undefined") {			divElm = document.createElement("div");			divElm.innerHTML = tinyMCELang[title];			document.title = divElm.innerHTML;			if (typeof(tinyMCE.setWindowTitle) != 'undefined')				tinyMCE.setWindowTitle(window, divElm.innerHTML);		}		// Output Popup CSS class		document.write('<link href="' + tinyMCE.getParam("popups_css") + '" rel="stylesheet" type="text/css">');		if (tinyMCE.getParam("popups_css_add")) {			c = tinyMCE.getParam("popups_css_add");			// Is relative			if (c.indexOf('://') == -1 && c.charAt(0) != '/')				c = tinyMCE.documentBasePath + "/" + c;			document.write('<link href="' + c + '" rel="stylesheet" type="text/css">');		}		tinyMCE.addEvent(window, "load", this.onLoad);	},	onLoad : function() {		var dir, i, elms, body = document.body;		if (tinyMCE.getWindowArg('mce_replacevariables', true))			body.innerHTML = tinyMCE.applyTemplate(body.innerHTML, tinyMCE.windowArgs);		dir = tinyMCE.selectedInstance.settings.directionality;		if (dir == "rtl" && document.forms && document.forms.length > 0) {			elms = document.forms[0].elements;			for (i=0; i<elms.length; i++) {				if ((elms[i].type == "text" || elms[i].type == "textarea") && elms[i].getAttribute("dir") != "ltr")					elms[i].dir = dir;			}		}		if (body.style.display == 'none')			body.style.display = 'block';		// Execute real onload (Opera fix)		if (tinyMCEPopup.onLoadEval !== '')			eval(tinyMCEPopup.onLoadEval);	},	executeOnLoad : function(str) {		if (tinyMCE.isOpera)			this.onLoadEval = str;		else			eval(str);	},	resizeToInnerSize : function() {		var i, doc, body, oldMargin, wrapper, iframe, nodes, dx, dy;		// Netscape 7.1 workaround		if (this.isWindow && tinyMCE.isNS71) {			window.resizeBy(0, 10);			return;		}		if (this.isWindow) {			doc = document;			body = doc.body;			if (body.style.display == 'none')				body.style.display = 'block';			// Remove margin			oldMargin = body.style.margin;			body.style.margin = '0';			// Create wrapper			wrapper = doc.createElement("div");			wrapper.id = 'mcBodyWrapper';			wrapper.style.display = 'none';			wrapper.style.margin = '0';			// Wrap body elements			nodes = doc.body.childNodes;			for (i=nodes.length-1; i>=0; i--) {				if (wrapper.hasChildNodes())					wrapper.insertBefore(nodes[i].cloneNode(true), wrapper.firstChild);				else					wrapper.appendChild(nodes[i].cloneNode(true));				nodes[i].parentNode.removeChild(nodes[i]);			}			// Add wrapper			doc.body.appendChild(wrapper);			// Create iframe			iframe = document.createElement("iframe");			iframe.id = "mcWinIframe";			iframe.src = document.location.href.toLowerCase().indexOf('https') == -1 ? "about:blank" : tinyMCE.settings.default_document;			iframe.width = "100%";			iframe.height = "100%";			iframe.style.margin = '0';			// Add iframe			doc.body.appendChild(iframe);			// Measure iframe			iframe = document.getElementById('mcWinIframe');			dx = tinyMCE.getWindowArg('mce_width') - iframe.clientWidth;			dy = tinyMCE.getWindowArg('mce_height') - iframe.clientHeight;			// Resize window			// tinyMCE.debug(tinyMCE.getWindowArg('mce_width') + "," + tinyMCE.getWindowArg('mce_height') + " - " + dx + "," + dy);			window.resizeBy(dx, dy);			// Hide iframe and show wrapper			body.style.margin = oldMargin;			iframe.style.display = 'none';			wrapper.style.display = 'block';		}	},	resizeToContent : function() {		var isMSIE = (navigator.appName == "Microsoft Internet Explorer");		var isOpera = (navigator.userAgent.indexOf("Opera") != -1);		var elm, width, height, x, y, dx, dy;		if (isOpera)			return;		if (isMSIE) {			try { window.resizeTo(10, 10); } catch (e) {}			elm = document.body;			width = elm.offsetWidth;			height = elm.offsetHeight;			dx = (elm.scrollWidth - width) + 4;			dy = elm.scrollHeight - height;			try { window.resizeBy(dx, dy); } catch (e) {}		} else {			window.scrollBy(1000, 1000);			if (window.scrollX > 0 || window.scrollY > 0) {				window.resizeBy(window.innerWidth * 2, window.innerHeight * 2);				window.sizeToContent();				window.scrollTo(0, 0);				x = parseInt(screen.width / 2.0) - (window.outerWidth / 2.0);				y = parseInt(screen.height / 2.0) - (window.outerHeight / 2.0);				window.moveTo(x, y);			}		}	},	getWindowArg : function(name, default_value) {		return tinyMCE.getWindowArg(name, default_value);	},	restoreSelection : function() {		var inst;		if (this.storeSelection) {			inst = tinyMCE.selectedInstance;			inst.getWin().focus();			if (inst.selectionBookmark)				inst.selection.moveToBookmark(inst.selectionBookmark);		}	},	execCommand : function(command, user_interface, value) {		var inst = tinyMCE.selectedInstance;		this.restoreSelection();		inst.execCommand(command, user_interface, value);		// Store selection		if (this.storeSelection)			inst.selectionBookmark = inst.selection.getBookmark(true);	},	close : function() {		tinyMCE.closeWindow(window);	},	pickColor : function(e, element_id) {		tinyMCE.selectedInstance.execCommand('mceColorPicker', true, {			element_id : element_id,			document : document,			window : window,			store_selection : false		});	},	openBrowser : function(element_id, type, option) {		var cb = tinyMCE.getParam(option, tinyMCE.getParam("file_browser_callback"));		var url = document.getElementById(element_id).value;		tinyMCE.setWindowArg("window", window);		tinyMCE.setWindowArg("document", document);		// Call to external callback		if (eval('typeof(tinyMCEPopup.windowOpener.' + cb + ')') == "undefined")			alert("Callback function: " + cb + " could not be found.");		else			eval("tinyMCEPopup.windowOpener." + cb + "(element_id, url, type, window);");	},	importClass : function(c) {		var n;		window[c] = function() {};		for (n in window.opener[c].prototype)			window[c].prototype[n] = window.opener[c].prototype[n];		window[c].constructor = window.opener[c].constructor;	}	};// Setup global instancevar tinyMCEPopup = new TinyMCE_Popup();tinyMCEPopup.init();

⌨️ 快捷键说明

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