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

📄 editjs.js

📁 系统主要功能模块包括: ◆ 办公桌面 ◇ 公司动态、政策文件、公司计划 ◇ 传阅公文、内部邮件、网络会议 ◇ 流转公文、待批公文、返回公文 ◇ 个人工作计划、个人工作日
💻 JS
📖 第 1 页 / 共 3 页
字号:
			oNewNode.innerHTML=sPreserve;
			oNewNode.className=sClass;
		}
		else {
			var style = "";
			if (oElement.face.length) {
				style += "font-family: " + oElement.face + ";";
			}	
			if (oElement.size.length) {
				var sizeMap = new Array(7,7,9,12,14,18,24,36);
				var size = oElement.size;
				if (size > 7) size = 7;
				if (size==-1) size = 2;
				if (size==-2) size = 1;
				if (size < -2) size = 1;
				var ptsize = sizeMap[size];
				style += "font-size: " + ptsize + "pt;";
			}
			if (oElement.color.length) {
				style += "color: " + oElement.color + ";";
			}
			if (style.length) {
				sPreserve=oElement.innerHTML;
				oNewNode=aeObject.DOM.createElement("SPAN");
				oElement.replaceNode(oNewNode);
				oNewNode.innerHTML=sPreserve;
				oNewNode.style.cssText=style;
			}
		}
	}
}

function condenseSpans(aeObject, oElement, oPrevious) {
  for(var i=0;i<oElement.childNodes.length;i++) {
  	var child = oElement.childNodes[i];
    oElement = condenseSpans(aeObject, child, oElement);
  }
  if (oElement.tagName=="SPAN" && oPrevious != null && oPrevious.tagName =="SPAN") {
	    if (oElement.innerText == oPrevious.innerText) {
			cClass=oElement.className;
			pClass=oPrevious.className;
	    	if(pClass.length && !cClass.length) {
		      oElement.setAttribute("class", pClass);
			}
			var css = oPrevious.style.cssText;
			var styleProps = css.split("; ");
			var curStyleProps = oElement.style.cssText.split("; ");
			for (var i=0;i<styleProps.length;i++) {
				var kv = styleProps[i].split(":");
				var key = kv[0];
				var value = kv[1];
				var hasProp = false;
				for (var k=0;k<curStyleProps.length;k++) {
					var ckv = curStyleProps[k].split(":");
					var cProp = ckv[0];
					var cValue = ckv[1];
					if (cProp == key) {
						hasProp = true;
						break;
					}
				}
				if (!hasProp) {
					oElement.style.cssText = oElement.style.cssText + ";" + key + ":" + value;
				}
			}
			oPrevious.removeNode(false);
			return oElement;
	    }
  }
  return oPrevious;
}

function removeExtraniousSpans(aeObject, oElement, oPrevious) {
	for(var i=0;i<oElement.childNodes.length;i++) {
		removeExtraniousSpans(aeObject, oElement.childNodes[i], oElement);
	}
	if (oElement.tagName=="SPAN" && oPrevious != null && oPrevious.tagName =="P") {
		if (oElement.innerText == oPrevious.innerText) {
			cClass=oElement.className;
			pClass=oPrevious.className;
			if(cClass.length) {
				oPrevious.setAttribute("class", pClass);
			}
			var css = oPrevious.style.cssText;
			var styleProps = css.split("; ");
			var curStyleProps = oElement.style.cssText.split("; ");
			for (var i=0;i<curStyleProps.length;i++) {
				var kv = curStyleProps[i].split(":");
				var cProp = kv[0];
				var cValue = kv[1];
				var hasProp = false;
				for (var k=0;k<styleProps.length;k++) {
					var pkv = styleProps[k].split(":");
					var pProp = pkv[0];
					var pValue = pkv[1];
					if (cProp == pProp) {
						hasProp = true;
						break;
					}
				}
				if (!hasProp) {
					oPrevious.style.cssText = oPrevious.style.cssText + ";" + cProp + ":" + cValue;
				}
			}
			oElement.removeNode(false);
	    }
  }
}

function ae_cleanWord(aeObject) {
		//var newData = "sadad";
		//var newData = aeObject.DOM.body.innerHTML;
		//newData = newData.replace(/<o:p>&nbsp;<\/o:p>/g, ""); 
		//newData = newData.replace(/<o\:p><\/o\:p>/g, "");
		//newData = newData.replace(/o:/g, ""); 
		//newData = newData.replace(/<st1:.*?>/g, ""); 
		//newData = newData.replace(/<\?xml:.*?\/>/g, ""); 
	    //newData = newData.replace(/<P>&nbsp;<\/P>/g, "");
	    //newData = newData.replace(/\&nbsp;/g, "");
	    //newData = newData.replace(/\\r/g, "<BR>");
	    //newData = newData.replace(/\\n/g, "<BR>");
		//newData = newData.replace(/class=MsoNormal/g, "");
		//newData = newData.replace(/class=MsoHeader/g, "");
		//newData = newData.replace(/class=MsoBodyText/g, "");
		//newData = newData.replace(/style=\"mso-cellspacing.*\"/g, "cellspacing=0");
		//newData = newData.replace(/mso-[^\";]*/g, "");
		//aeObject.DOM.body.innerHTML = newData;
		//newData = aeObject.DOM.body.innerHTML;
		//newData = newData.replace(/<P><\/P>/g, "");
	    //newData = newData.replace(/<P> <\/P>/g, "");
		//newData = newData.replace(/<SPAN><\/SPAN>/g, "");
		//newData = newData.replace(/<SPAN> <\/SPAN>/g, " ");
		//aeObject.DOM.body.innerHTML = newData;
		//removeExtraniousSpans(aeObject, aeObject.DOM.body, null);
}

function ae_onPaste(num) {
	DHTMLSafe=aeObjects[num];
	window.event.returnValue = true;
	var tr = DHTMLSafe.DOM.selection.createRange();
	tr.execCommand("Paste");
	replaceFontsWithSpans(DHTMLSafe, DHTMLSafe.DOM.body, null);
	condenseSpans(DHTMLSafe, DHTMLSafe.DOM.body, null);
	//ae_cleanWord(DHTMLSafe);	
}
//至此

function ae_onToggleDetails(bVal, num) {
	DHTMLSafe=aeObjects[num];
	
	if (bVal == null) {
		DHTMLSafe.ShowDetails = !(DHTMLSafe.ShowDetails);
	}
	else {
		DHTMLSafe.ShowDetails = bVal;
	}
}

function editTableWin(num) {
	editTbl = window.showModalDialog(inc + "../editor/edittable.htm",window,"dialogHeight: 350px; dialogWidth: 350px; dialogTop: 150px; dialogLeft: 150px; center: Yes; help: No; resizable: No; status: No;");
}

function onTableWin(num) {	
	DHTMLSafe=aeObjects[num];
		if(DHTMLSafe.QueryStatus(DECMD_INSERTTABLE) == DECMDF_DISABLED) 
		{
		   	DHTMLSafe.focus();
		 		return;
		}	
		ae_hot = num;

		arr = window.showModalDialog(inc + "../editor/table.htm",window,"dialogHeight: 250px; dialogWidth: 480px; dialogTop: 150px; dialogLeft: 150px; center: Yes; help: No; resizable: No; status: No;");
}

function onTable(num) {

	if (ae_HTMLMode[num]) { return; }
	 
	DHTMLSafe=aeObjects[num];
	
	if(DHTMLSafe.QueryStatus(DECMD_INSERTTABLE) == DECMDF_DISABLED) 
	{
	   	DHTMLSafe.focus();
  		return;
	}
	
	if(	document.all.frame1.style.visibility == "visible" ) {
		cancelTable();
		return;
	}
	
	var str = "<div id=\"tblsel\" style=\"background-color:#000066;position:absolute;";
	str = str + "width:0;height:0;z-index:-1;\"></div>";
	str = str + makeTable(4, 5);
	str = str + "<div style=\"text-align:center;background-color:menu;font-size: 12px\" id=\"tblstat\">插入表格</div>";
	
	var ifrm = document.frames("frame1");
	var obj=eval("document.all.ae_tbtn"+num);
	var x=0;
	var y=0;

	ifrm.document.body.innerHTML=str;
	

	while(obj.tagName!="BODY") {

		x+=obj.offsetLeft;
		y+=obj.offsetTop;
		obj=obj.offsetParent;

	}	
	
	document.all.frame1.style.pixelTop = y + 24;
	document.all.frame1.style.pixelLeft = x;
	document.all.frame1.style.pixelWidth = 0;
	document.all.frame1.style.pixelHeight = 0;
	document.all.frame1.style.visibility = "visible";
	ae_hot=num;
	document.frames("frame1").document.body.onmouseover = paintTable;	
	document.frames("frame1").document.body.onclick = insertTable;
	if(typeof(document.onmousedown)=="function")
		ae_olddocmd = document.onmousedown;
	else ae_olddoccmd=null;
	
	document.onmousedown = cancelTable;
	DHTMLSafe.onmousedown = cancelTable;
	event.cancelBubble = true;

	ifrm.document.body.onselectstart=new Function("return false;");
	

	document.all.frame1.style.pixelWidth = ifrm.document.all.oTable.offsetWidth + 3
	document.all.frame1.style.pixelHeight = ifrm.document.all.oTable.offsetHeight + 3 +
		ifrm.document.all.tblstat.offsetHeight;

}

function insertTable(rows, cols, attrs, num) {
	
	if(typeof(num)=="undefined")
		num=ae_hot;

	DHTMLSafe=aeObjects[num];
	
	if (typeof(rows) == "undefined") {
		
		var se = document.frames('frame1').window.event.srcElement;
	  
		if(se.tagName!='TD') {
			cancelTable();
			return;
		}
			
		tableparamobj.NumRows = se.parentElement.rowIndex + 1;
		tableparamobj.NumCols = se.cellIndex + 1;
	  	tableparamobj.TableAttrs = "style='border-collapse:collapse;' border=1 bordercolor=#000000 cellPadding=1 cellSpacing=0 width=98% align=center";
		cancelTable();
	}
	else {
		tableparamobj.NumRows = rows;
		tableparamobj.NumCols = cols;
		tableparamobj.TableAttrs = attrs;
	}
	DHTMLSafe.ExecCommand(DECMD_INSERTTABLE,OLECMDEXECOPT_DODEFAULT, tableparamobj);    
	DHTMLSafe.focus();
}

function paintTable() {

	var se = document.frames('frame1').window.event.srcElement;
	
	var sr, sc, tbl, fAll;
			
	fAll = document.frames('frame1').document.all;
	
	if(se.tagName!='TD') {
				sr = 0;
		sc = 0;
		var str="&nbsp;Cancel";
		fAll.tblsel.style.width = 0;
		fAll.tblsel.style.height = 0;
		return;
	}
	
	tbl=fAll.oTable;
	sr=se.parentElement.rowIndex;
	sc=se.cellIndex;
	
	if(!is_ie4) {
		if(tbl.rows.length == sr+1) {
			var r = tbl.insertRow(-1);
			var td;
			
			for(var i=0;i<tbl.rows(1).cells.length;i++) {
				td = r.insertCell(-1);
				td.innerHTML = "&nbsp;";
				td.style.pixelWidth = 20;
				td.style.pixelHeight = 20;
	
			}
				var bdy = document.frames("frame1").document.body;			
				var ifrm = document.frames("frame1");
				
				document.all.frame1.style.pixelWidth = ifrm.document.all.oTable.offsetWidth + 3
				document.all.frame1.style.pixelHeight = ifrm.document.all.oTable.offsetHeight + 3 +
					ifrm.document.all.tblstat.offsetHeight;
		}
		if(tbl.rows(1).cells.length == sc+1) {
			var td;
			for(var i=0;i<tbl.rows.length;i++) {
				td = tbl.rows(i).insertCell(-1);
				td.innerHTML = "&nbsp;";
				td.style.pixelWidth = 20;
				td.style.pixelHeight = 20;
			}			
				var bdy = document.frames("frame1").document.body;
				document.all.frame1.style.pixelWidth = bdy.createTextRange().boundingWidth + 5;
				document.all.frame1.style.pixelHeight = bdy.createTextRange().boundingHeight + 5;
		}
	}
	
	var str=(sr+1) + "×" + (sc+1) + "表格";
	fAll.tblsel.style.width = se.offsetWidth*(sc+1)+5;
	fAll.tblsel.style.height = se.offsetHeight*(sr+1)+5;
	
	fAll.tblstat.innerHTML = str;
}

function makeTable(rows, cols) {
	var a, b, str, n;
	str = "<table style=\"table-layout:fixed;border-style:solid; cursor:default;\" "; 
	str = str + "id=\"oTable\" cellpadding=\"0\" ";
	str = str + "cellspacing=\"0\" cols=" + cols;
	str = str + " border=6>\n";

	for (a=0;a<rows;a++) {
		str = str + "<tr>\n";
		for(b=0;b<cols;b++) {			
			str = str + "<td width=\"20\">" 
			str = str + "&nbsp;</td>\n";	
		}	
		str = str + "</tr>\n";
	}
	str = str + "</table>"
	return str;
}

function cancelTable(a) {
	document.onmousedown=null;
	document.all.frame1.style.visibility = "hidden";
	document.all.frame1.style.pixelWidth = 0;
	document.all.frame1.style.pixelHeight = 0;

	if(a==false) return;

	if(typeof(ae_olddocmd)=="function") {
		ae_olddocmd(false);
		document.onmousedown = ae_olddocmd;
	}
	ae_olddocmd = null;

	document.all.frame1.style.pixelWidth = 10;
	document.all.frame1.style.pixelHeight = 10;
	
}

function onImagewin(num) {
	DHTMLSafe=aeObjects[num];
	
	DHTMLSafe.focus();
	if (typeof(ae_imgwin) == "undefined" || ae_imgwin.closed) { //short circuit eval
		var szURL;
		
		szURL= "../editor/insertimages.htm";
		
		//ae_imgwin = window.showModalDialog(szURL,window,"dialogHeight: 240px; dialogWidth: 330px; dialogTop: 150px; dialogLeft: 150px; center: Yes; help: No; resizable: No; status: No;scroll:no;");
		ae_imgwin = window.open(szURL, "ae_imgwin", "left=240,top=200,width=330,height=240,menubar=no,toolbar=no,location=no,status=no,resizable=yes,scrollbars=yes");

	}
	//ae_imgwin.focus();
}


function onImage(u, base_url, iborder, ialign, ialt, num) {
	DHTMLSafe=aeObjects[num];
	var img = "<img src=\"" + u + "\" border=\"" + iborder + "\" align=\"" + ialign + "\" alt=\"" + ialt + "\">";
	DHTMLSafe.DOM.selection.createRange().pasteHTML(img);
	//ae_imgwin.close();
}


function ae_onBeforeSave(aeObject) {
	for (var i=0;i<aeObject.DOM.images.length;i++) {
		hs=aeObject.DOM.images[i].getAttribute("STYLE",0).height;
		ws=aeObject.DOM.images[i].getAttribute("STYLE",0).width;
		
		if(hs.length) {
			aeObject.DOM.images[i].removeAttribute("HEIGHT", 0); 			
			aeObject.DOM.images[i].setAttribute("HEIGHT", replaceString("px", "", hs),0); 
			aeObject.DOM.images[i].getAttribute("STYLE",0).removeAttribute("HEIGHT",0);
		}
		if(ws.length) {
			aeObject.DOM.images[i].removeAttribute("WIDTH", 0);	
			aeObject.DOM.images[i].setAttribute("WIDTH", replaceString("px", "", ws),0); 
			aeObject.DOM.images[i].getAttribute("STYLE",0).removeAttribute("WIDTH",0);
		}
	}

	for (var k=0;k<aeObject.DOM.all.tags("TABLE").length;k++) {
		hs=aeObject.DOM.all.tags("TABLE").item(k).getAttribute("STYLE",0).height;
		ws=aeObject.DOM.all.tags("TABLE").item(k).getAttribute("STYLE",0).width;
		
		if(hs.length) {
			aeObject.DOM.all.tags("TABLE").item(k).removeAttribute("HEIGHT", 0); 			
			aeObject.DOM.all.tags("TABLE").item(k).setAttribute("HEIGHT", replaceString("px", "", hs),0); 
			aeObject.DOM.all.tags("TABLE").item(k).getAttribute("STYLE",0).removeAttribute("HEIGHT",0);
		}
		if(ws.length) {
			aeObject.DOM.all.tags("TABLE").item(k).removeAttribute("WIDTH", 0);	
			aeObject.DOM.all.tags("TABLE").item(k).setAttribute("WIDTH", replaceString("px", "", ws),0); 
			aeObject.DOM.all.tags("TABLE").item(k).getAttribute("STYLE",0).removeAttribute("WIDTH",0);
		}
	}
		

	var content = aeObject.DOM.body.innerHTML;
	if(content.length) {
		content = aeObject.FilterSourceCode(content);
	}

	replaceString("&#65279;", " ", content); 
	
	return content;
}

function ae_submit_form(obj, field) {
	var i;	
	for(i=1;i<=ae_count;i++) {	
		DHTMLSafe=aeObjects[i];
		if (typeof(aeapi_local_onBeforeSave) == "function") {
			var ae_content = aeapi_local_onBeforeSave(DHTMLSafe, aeFieldnames[num]);
		}
		else if (typeof(aeapi_onBeforeSave) == "function") {
			var ae_content = aeapi_onBeforeSave(DHTMLSafe, aeFieldnames[num]);
		}
		else {
			var ae_content = ae_onBeforeSave(DHTMLSafe, aeFieldnames[num]);
		}
		eval(obj).elements[element_idx].value = ae_content;
	}
	eval(obj).submit();
}

function replaceString(oldS,newS,fullS) {
	for (var i=0; i<fullS.length; i++) {
 		if (fullS.substring(i,i+oldS.length) == oldS) {
			fullS = fullS.substring(0,i)+newS+fullS.substring(i+oldS.length,fullS.length);
		}
	}
 	return fullS;
}
function ae_about() {
	window.showModalDialog(inc + "../editor/about.htm","","dialogHeight: 260px; dialogWidth: 400px; dialogTop: 150px; dialogLeft: 150px; center: Yes; help: No; resizable: No; status: No;");
}

function ae_editsource(num) {
	DHTMLSafe=aeObjects[num];
	DHTMLSafe.DOM.selection.empty();

	codewin =window.showModalDialog(inc + "../editor/editsource.htm",window,"dialogHeight: 490px; dialogWidth: 485px; dialogTop: 70px; dialogLeft: 150px; center: Yes; help: No; resizable: No; status: No;");
}

function ae_editsourceinline(num, bVal) {
	
	DHTMLSafe=aeObjects[num];

	thisContentItem=eval("document.all.TempContent");
	
	if(ae_HTMLMode[num]==bVal) return;

	DHTMLSafe.DOM.selection.empty();
	
	if(ae_HTMLMode[num]) { 
		document.normaltag.className="latched";
		document.normaltag.type="";
		document.htmltag.className="flat";
		document.htmltag.type="btn";
		if(ae_defaultfont[num].length) 
			DHTMLSafe.DOM.body.style.font=ae_defaultfont[num];
		else {
			DHTMLSafe.DOM.body.style.fontFamily="宋体";	
			DHTMLSafe.DOM.body.style.fontSize="12px";
		}
		thisContentItem.value=DHTMLSafe.DOM.body.createTextRange().text;
		DHTMLSafe.DOM.body.innerHTML = thisContentItem.value;	
		ae_HTMLMode[num] = false;
	}
	else { 
		var re=/((<br>)+)/ig;

		document.normaltag.className="flat";
		document.normaltag.type="btn";
		document.htmltag.className="latched";
		document.htmltag.type="";
		DHTMLSafe.DOM.body.style.fontFamily = "宋体";
		DHTMLSafe.DOM.body.style.fontSize = "12px";

⌨️ 快捷键说明

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