javascript文本编辑器

源代码在线查看: fullscreen.html

软件大小: 76 K
上传用户: uimeet
关键词: javascript 文本编辑器
下载地址: 免注册下载 普通下载 VIP

相关代码

				
				Fullscreen Editor
				 body {	margin: 0px; border: 0px; background-color: buttonface; } 
				
				
				
				// if we pass the "window" object as a argument and then set opener to
				// equal that we can refer to dialogWindows and popupWindows the same way
				if (window.dialogArguments) { opener = window.dialogArguments; }
				
				var _editor_url = "../";
				document.write('');
				
				var parent_objname = location.search.substring(1,location.search.length);  // parent editor objname
				var parent_config  = opener.document.all[parent_objname].config;
				
				var config         = cloneObject( parent_config );
				var objname        = 'editor'; // name of this editor
				
				//  DOMViewerObj = config;
				//  DOMViewerName = 'config';
				//  window.open('/innerHTML/domviewer.htm');  
				
				/* ---------------------------------------------------------------------- *\
				  Function    : 
				  Description : 
				\* ---------------------------------------------------------------------- */
				
				function _CloseOnEsc() {
				  if (event.keyCode == 27) {
				    update_parent();
				    window.close();
				    return;
				  }
				}
				
				/* ---------------------------------------------------------------------- *\
				  Function    : cloneObject
				  Description : copy an object by value instead of by reference
				  Usage       : var newObj = cloneObject(oldObj);
				\* ---------------------------------------------------------------------- */
				
				function cloneObject(obj) {
				  var newObj          = new Object; 
				
				  // check for array objects
				  if (obj.constructor.toString().indexOf('function Array(') == 1) {
				    newObj = obj.constructor();
				  }
				
				  for (var n in obj) {
				    var node = obj[n];
				    if (typeof node == 'object') { newObj[n] = cloneObject(node); }
				    else                         { newObj[n] = node; }
				  }
				  
				  return newObj;
				}
				
				/* ---------------------------------------------------------------------- *\
				  Function    : resize_editor
				  Description : resize the editor when the user resizes the popup
				\* ---------------------------------------------------------------------- */
				
				function resize_editor() {  // resize editor to fix window
				  var editor = document.all['_editor_editor'];
				
				  newWidth  = document.body.offsetWidth;
				  newHeight = document.body.offsetHeight - editor.offsetTop;
				
				  if (newWidth < 0) { newWidth = 0; }
				  if (newHeight < 0) { newHeight = 0; }
				
				  editor.style.width  = newWidth;
				  editor.style.height = newHeight;
				}
				
				/* ---------------------------------------------------------------------- *\
				  Function    : init
				  Description : run this code on page load
				\* ---------------------------------------------------------------------- */
				
				function init() {
				  // change maximize button to minimize button
				  config.btnList["popupeditor"] = ['popupeditor', 'Minimize Editor',  'update_parent(); window.close();', 'fullscreen_minimize.gif'];
				
				  // set htmlmode button to refer to THIS editor
				  config.btnList["htmlmode"]    = ['HtmlMode',    'View HTML Source', 'editor_setmode(\'editor\')',  'ed_html.gif'];
				
				  // change image url to be relative to current path
				  config.imgURL = "../images/";
				  
				  // generate editor and resize it
				  editor_generate('editor', config);
				  resize_editor();
				
				  // switch mode if needed
				  if (parent_config.mode == 'textedit') { editor_setmode(objname, 'textedit'); }
				
				  // set child window contents
				  var parentHTML = opener.editor_getHTML(parent_objname);
				  editor_setHTML(objname, parentHTML);
				
				  // continuously update parent editor window
				  window.setInterval(update_parent, 333);
				
				  // setup event handlers
				  document.body.onkeypress = _CloseOnEsc;
				  window.onresize = resize_editor;
				}
				
				/* ---------------------------------------------------------------------- *\
				  Function    : update_parent
				  Description : update parent window editor field with contents from child window
				\* ---------------------------------------------------------------------- */
				
				function update_parent() {
				  var childHTML = editor_getHTML(objname);
				  opener.editor_setHTML(parent_objname, childHTML);
				}
				
				
				
				
				
				
				
				
				
				
							

相关资源