📄 editjs.js
字号:
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> <\/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> <\/P>/g, "");
//newData = newData.replace(/\ /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=" 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 = " ";
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 = " ";
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 + " </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("", " ", 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 + -