📄 html_edit.asp
字号:
oNewNode=aeObject.DOM.createElement("SPAN");
oElement.replaceNode(oNewNode);
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 jk_edit_onPaste(num)
{
DHTMLSafe=aeObjects[num];
//window.event.returnValue = true;
var tmp_frm=document.frames("jk_tmp_frame");
//var tmp_frm=frames["jk_tmp_frame"];
//var tmp_frm=document.getElementById("jk_tmp_frame").contentWindow;
//tmp_frm.document.open();
//tmp_frm.document.close();
tmp_frm.document.body.contentEditable = "True";
tmp_frm.document.charset="GB2312";
tmp_frm.document.execCommand("Paste");
var tmppaste=tmp_frm.document.body.innerHTML; //outerHTML
tmp_frm.document.clear();
insertHtml(tmppaste);
//var tr = DHTMLSafe.DOM.selection.createRange();
//tr.execCommand("Paste");
//replaceFontsWithSpans(DHTMLSafe, DHTMLSafe.DOM.body, null);
//condenseSpans(DHTMLSafe, DHTMLSafe.DOM.body, null);
}
function jk_edit_onPasteWord()
{
if (BrowserInfo.IsIE55OrMore)
{ cleanAndPaste(GetClipboardHTML()); }
else if (confirm("这个操作需要Internet Explorer version 5.5 或以上版本. 你需要粘贴它而不去除格式吗?"))
{ decCommand(DECMD_PASTE); }
}
function jk_edit_onPastetext()
{
var sText = HTMLEncode(clipboardData.getData("Text"));
sText = sText.replace(/\n/g,'<BR>');
insertHtml(sText);
}
function HTMLEncode(text)
{
text = text.replace(/&/g, "&") ;
text = text.replace(/"/g, """) ;
text = text.replace(/</g, "<") ;
text = text.replace(/>/g, ">") ;
text = text.replace(/'/g, "’") ;
return text ;
}
function GetClipboardHTML()
{
var oDiv = document.getElementById("divTemp")
oDiv.innerHTML = "";
var oTextRange = document.body.createTextRange();
oTextRange.moveToElementText(oDiv);
oTextRange.execCommand("Paste");
var sData = oDiv.innerHTML;
oDiv.innerHTML = "";
return sData;
}
function cleanAndPaste( html )
{
html = html.replace(/<\/?SPAN[^>]*>/gi, "" );
html = html.replace(/<(\w[^>]*) class=([^ |>]*)([^>]*)/gi, "<$1$3");
html = html.replace(/<(\w[^>]*) style="([^"]*)"([^>]*)/gi, "<$1$3");
html = html.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi, "<$1$3");
html = html.replace(/<\\?\?xml[^>]*>/gi, "");
html = html.replace(/<\/?\w+:[^>]*>/gi, "");
html = html.replace(/ /, " " );
var re = new RegExp("(<P)([^>]*>.*?)(<\/P>)","gi");
html = html.replace( re, "<div>$2</div>" );
insertHtml( html );
}
function jk_edit_onToggleDetails(bVal, num)
{
DHTMLSafe=aeObjects[num];
if (bVal == null) { DHTMLSafe.ShowDetails = !(DHTMLSafe.ShowDetails); }
else { DHTMLSafe.ShowDetails = bVal; }
}
function editTableWin(num) { ditTbl = edit_open("win_table_edit.asp",window,290,355,"s"); }
function onTableWin(num)
{
DHTMLSafe=aeObjects[num];
if(DHTMLSafe.QueryStatus(5022) == 1)
{
DHTMLSafe.focus();
return;
}
jk_edit_hot = num;
arr = edit_open("win_table.asp",window,350,250,"s");
}
function onTable(num)
{
if (jk_edit_HTMLMode[num]) { return; }
DHTMLSafe=aeObjects[num];
if(DHTMLSafe.QueryStatus(5022) == 1)
{
DHTMLSafe.focus();
return;
}
if( document.all.jk_edit_frame.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("jk_edit_frame");
var obj=eval("document.all.jk_edit_tbtn"+num);
var x=0,y=0;
ifrm.document.body.innerHTML=str;
while(obj.tagName!="BODY")
{
x+=obj.offsetLeft;
y+=obj.offsetTop;
obj=obj.offsetParent;
}
document.all.jk_edit_frame.style.pixelTop = y + 24;
document.all.jk_edit_frame.style.pixelLeft = x;
document.all.jk_edit_frame.style.pixelWidth = 0;
document.all.jk_edit_frame.style.pixelHeight = 0;
document.all.jk_edit_frame.style.visibility = "visible";
jk_edit_hot=num;
document.frames("jk_edit_frame").document.body.onmouseover = paintTable;
document.frames("jk_edit_frame").document.body.onclick = insertTable;
if(typeof(document.onmousedown)=="function") { jk_edit_olddocmd = document.onmousedown; }
else { jk_edit_olddoccmd=null; }
document.onmousedown = cancelTable;
DHTMLSafe.onmousedown = cancelTable;
event.cancelBubble = true;
ifrm.document.body.onselectstart=new Function("return false;");
document.all.jk_edit_frame.style.pixelWidth = ifrm.document.all.oTable.offsetWidth + 3
document.all.jk_edit_frame.style.pixelHeight = ifrm.document.all.oTable.offsetHeight + 3 + ifrm.document.all.tblstat.offsetHeight;
}
function insertTable(rows, cols, attrs, num)
{
if(typeof(num)=="undefined") { num=jk_edit_hot; }
DHTMLSafe=aeObjects[num];
if (typeof(rows) == "undefined")
{
var se = document.frames('jk_edit_frame').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(5022,0, tableparamobj);
DHTMLSafe.focus();
}
function paintTable()
{
var se = document.frames('jk_edit_frame').window.event.srcElement;
var sr, sc, tbl, fAll;
fAll = document.frames('jk_edit_frame').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("jk_edit_frame").document.body;
var ifrm = document.frames("jk_edit_frame");
document.all.jk_edit_frame.style.pixelWidth = ifrm.document.all.oTable.offsetWidth + 3
document.all.jk_edit_frame.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("jk_edit_frame").document.body;
document.all.jk_edit_frame.style.pixelWidth = bdy.createTextRange().boundingWidth + 5;
document.all.jk_edit_frame.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.jk_edit_frame.style.visibility = "hidden";
document.all.jk_edit_frame.style.pixelWidth = 0;
document.all.jk_edit_frame.style.pixelHeight = 0;
if(a==false) return;
if(typeof(jk_edit_olddocmd)=="function")
{
jk_edit_olddocmd(false);
document.onmousedown = jk_edit_olddocmd;
}
jk_edit_olddocmd = null;
document.all.jk_edit_frame.style.pixelWidth = 10;
document.all.jk_edit_frame.style.pixelHeight = 10;
}
function jk_edit_insertPage()
{
DHTMLSafe.DOM.selection.createRange().pasteHTML("<br>[pagecute]<br>");
DHTMLSafe.focus();
DHTMLSafe.DOM.body.focus();
}
function onFilewin() { edit_open("win_file.asp?<%response.write tmp_uppath%>","win_file",400,160,""); }
function jk_edit_insertFile(ftmp,num)
{
DHTMLSafe.DOM.selection.createRange().pasteHTML(ftmp);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -