📄 weiseditor.js
字号:
{
WeisEditor.Array.length = 0;
WeisEditor.Array[WeisEditor.Array.length] = new hashtable("href",url);
WeisEditor.Array[WeisEditor.Array.length] = new hashtable("innerHTML",Editor.Config.GetRange().toString());
Editor.Config.pasteContent('A','');
}
}
WeisEditor.Run.SaveDataStep();
Editor.Config.Select();
}
};
WeisEditor.prototype.pasteHTML = function(type)
{
if (!Editor.Config.WEditorMode) return;
Editor.Config.HtmlEdit.focus();
WeisEditor.Run.SaveDataStep();
var selTxt = "";
if (window.isIE) selTxt = Editor.Config.GetRange().text;
else selTxt = Editor.Config.GetRange().toString();
if (selTxt != "")
{
if (window.isIE) Editor.Config.GetRange().pasteHTML("<"+type+">" + selTxt + "</"+type+">");
else
{
WeisEditor.Array.length = 0;
WeisEditor.Array[WeisEditor.Array.length] = new hashtable("innerHTML",selTxt);
Editor.Config.pasteContent(type);
}
}
WeisEditor.Run.SaveDataStep();
Editor.Config.Select();
};
WeisEditor.prototype.createimage = function()
{
if (!Editor.Config.WEditorMode) return;
Editor.Config.SaveSelection();
WeisEditor.Run.SaveDataStep();
var CS = new CoverScreen();
CS.DialogPanel();
CS.Config.dialogWidth = 500;
CS.Config.dialogHeight = 180;
F = CS.IfrDialog(WeisLang.InsertImage,'PAGE','loadImage.aspx',CS);
CS.dialogShow(CS,F);
WeisEditor.Run.SaveDataStep();
Editor.Config.Select();
};
WeisEditor.prototype.createHR = function()
{
if (!Editor.Config.WEditorMode) return;
Editor.Config.HtmlEdit.focus();
WeisEditor.Run.SaveDataStep();
if (window.isIE)
{
var range = Editor.Config.GetRange();
range.pasteHTML('<hr />');
WeisEditor.Run.SaveDataStep();
Editor.Config.Select();
}
else
{
var range = Editor.Config.GetRange();
var Tag = range.startContainer.parentNode;
var scName = range.startContainer.parentNode.nodeName;
if (scName=='SPAN'||scName=='LABEL'||scName=='FONT')
{
range.deleteContents();
var endRange = range.cloneRange();
endRange.collapse(false);
var _B = Editor.Config.Document.createElement('B');
_B.id = '_____removeHr__Node___';
endRange.insertNode(_B);
Editor.Config.DOMNodeFresh(_B);
var flag = false;
var tnode = null;
tnode = _B.nextSibling;
var flag = false;
var tnode = null;
tnode = _B.nextSibling;
while (tnode)
{
flag = true;
if (tnode.nodeType==1&&tnode.nodeName=='BR'||tnode.nodeValue.trim() == '')
{
tnode = tnode.nextSibling;
flag = false;
continue;
}
tnode = tnode.nextSibling;
}
if (!flag)
{
endRange.selectNode(_B.parentNode)
endRange.collapse(false);
var S = Editor.Config.Selection();
S.removeAllRanges();
S.addRange(endRange);
Editor.Config.HtmlEdit.focus();
}
_B.parentNode.removeChild(_B);
Editor.Config.pasteContent('HR');
WeisEditor.Run.SaveDataStep();
Editor.Config.Select();
}
else if (scName == 'A')
{
Editor.Config.pasteContent("WE_CONTHTML_CODE","<hr />");
WeisEditor.Run.SaveDataStep();
Editor.Config.Select();
}
else
{
Editor.Config.pasteContent("WE_CONTHTML_CODE","<hr /> <span id='______Hr____removeAttri________'> </span>");//Hr Space Important
var _Hr = Editor.Config.Document.getElementById('______Hr____removeAttri________');
Editor.Config.configNodeAround(_Hr,range);
_Hr.parentNode.removeChild(_Hr);
WeisEditor.Run.SaveDataStep();
Editor.Config.Select();
}
}
};
WeisEditor.prototype.InsertTable = function()
{
if (!Editor.Config.WEditorMode) return;
Editor.Config.SaveSelection();
WeisEditor.Run.SaveDataStep();
var CS = new CoverScreen();
CS.DialogPanel();
CS.Config.dialogWidth = 403;
CS.Config.dialogHeight = 210;
F = CS.IfrDialog(WeisLang.InsertTable,'PAGE','table.html',CS);
CS.dialogShow(CS,F);
WeisEditor.Run.SaveDataStep();
Editor.Config.Select();
};
WeisEditor.prototype.InsertMedia = function(type)
{
if (!Editor.Config.WEditorMode) return;
Editor.Config.SaveSelection();
WeisEditor.Run.SaveDataStep();
if (type == 'flash')
{
var CS = new CoverScreen();
CS.DialogPanel();
CS.Config.dialogWidth = 403;
CS.Config.dialogHeight = 190;
F = CS.IfrDialog(WeisLang.InsertFlash,'PAGE','flash.aspx',CS);
CS.dialogShow(CS,F);
}
else if (type == 'forecolor')
{
var CS = new CoverScreen();
CS.DialogPanel();
CS.Config.dialogWidth = 223;
CS.Config.dialogHeight = 170;
F = CS.IfrDialog(WeisLang.FontColor,'PAGE','fontcolor.html',CS);
CS.dialogShow(CS,F);
}
WeisEditor.Run.SaveDataStep();
Editor.Config.Select();
};
WeisEditor.prototype.CreateEmot = function()
{
if (!Editor.Config.WEditorMode) return;
if (window.isIE)
Editor.Config.SaveSelection();
else
Editor.Config.HtmlEdit.focus();
var CS = new CoverScreen();
CS.DialogPanel();
CS.Config.dialogWidth = 200;
CS.Config.dialogHeight = 230;
CS.Config.dialogBColor = "#B0C4DE";
var htmlStr = '';
htmlStr += "<table style='border-right: 1px inset; border-top: 1px inset; border-left: 1px inset; border-bottom: 1px inset;float:left;' cellspacing='0' cellpadding='3' border='0' align='left' width='100%' >";
htmlStr += "<tr align='center'>";
ii=0;
for(i=1;i<=25;i++)
{
index = Math.floor(Math.random() * 80+1);
ii=ii+1;
htmlStr += "<td height='38' width='38' align='center' onmouseover='this.style.background=\"#f5f5f5\";' onmouseout='this.style.background=\"\";' onclick='Editor.emoticon("+index+");return false;' unselectable='on' style='cursor:hand;cursor:pointer;'>";
htmlStr += ""
htmlStr += "<img border=0 src='../weisEmot/"+index+".gif' align='middle'></td>";
if (ii==5)
{
htmlStr += "</tr><tr align='middle'>";
ii=0;
}
}
htmlStr += "</tr></table>";
CS.Config.dialogHTML = htmlStr;
F = CS.IfrDialog("<a href='#2' onclick='Editor.CreateEmot()'>"+WeisLang.FrushEmot+"</a>","HTML",CS.Config.dialogHTML,CS);
CS.dialogShow(CS,F);
};
WeisEditor.prototype.emoticon = function(index)
{
WeisEditor.Run.SaveDataStep();
if (window.isIE)
{
setTimeout(function(){Editor.Config.GetRange().pasteHTML("<img src='"+WeisConfig.EmotPath+index+".gif'>");WeisEditor.Run.SaveDataStep();},10);
}
else
{
WeisEditor.Array.length = 0;
WeisEditor.Array[WeisEditor.Array.length] = new hashtable("src",WeisConfig.EmotPath+index+".gif");
Editor.Config.pasteContent('IMG','');
WeisEditor.Run.SaveDataStep();
}
Editor.Config.Select();
};
WeisEditor.prototype.formatblock = function(type,val)
{
if (!Editor.Config.WEditorMode) return;
Editor.Config.HtmlEdit.focus();
WeisEditor.Run.SaveDataStep();
Editor.Config.execCMD(type,val);
};
WeisEditor.prototype.AboutEditor = function()
{
Editor.Config.SaveSelection();
var CS = new CoverScreen();
CS.DialogPanel();
CS.Config.dialogWidth = 250;
CS.Config.dialogHeight = 280;
CS.Config.dialogBColor = "#B0C4DE";
var htmlStr = '';
htmlStr += "<table border='0' cellspacing='0' cellpadding='0' width='100%' align='left'>";
htmlStr += "<tr>";
htmlStr += "<td height='80' bgcolor='"+CS.Config.dialogBColor+"' align='left' style='text-align:left;'>";
htmlStr += "<img src='../images/"+WeisLang.About.EditorIMG+"?ie_firefox=true&e="+Math.random()+"' alt='WeisEditor' title='WeisEditor' border='0' width='250' height='80' />";
htmlStr += "</td>";
htmlStr += "</tr>";
htmlStr += "<tr bgcolor='#E1F0F7'>";
htmlStr += "<td height='170' class='aboutcss' valign='top'>";
htmlStr += WeisLang.About.TextEditorVersion+" <br />";
htmlStr += WeisLang.About.EditorEnvironment + "\ <br />";
htmlStr += "-------------------------------\ <br />";
htmlStr += " Blog: <a href='http://blog.sina.com.cn/tecz' target='_blank'>blog.sina.com.cn/Tecz !</a> <br />";
htmlStr += "EMail: Glootz#gmail.COM <br />";
htmlStr += " QQ: 345268267 <br />";
htmlStr += "Copyright 2008 (IE6、Firefox2.0) <br />";
htmlStr += "</td>";
htmlStr += "</tr>";
htmlStr += "</table>";
CS.Config.dialogHTML = htmlStr;
F = CS.IfrDialog(WeisLang.About.AboutEditor,'HTML',CS.Config.dialogHTML,CS);
CS.dialogShow(CS,F);
};
WeisEditor.prototype.FontColor = function(color)
{
if (!Editor.Config.WEditorMode) return;
Editor.Config.HtmlEdit.focus();
WeisEditor.Run.SaveDataStep();
if (window.isIE)
{
Editor.Config.execCMD('forecolor',color)
}
else
{
var html = '';
if (Editor.Config.GetRange().toString() != '')
{
html = '<font style="color:'+color+'" id="__removeSpanColor__">' + Editor.Config.GetRange().toString() + '</font>';
Editor.Config.pasteContent('WE_CONTHTML_CODE',html);
var NodeID = Editor.Config.Document.getElementById('__removeSpanColor__');
var range = Editor.Config.GetRange();
var Sel = Editor.Config.Selection();
range.selectNode(NodeID);
Sel.removeAllRanges();
Sel.addRange(range);
NodeID.removeAttribute("id");
}
else
{
html = '<font style="color:'+color+'" id="__removeSpanColor__"> </font>';
Editor.Config.pasteContent('WE_CONTHTML_CODE',html);
var NodeID = Editor.Config.Document.getElementById('__removeSpanColor__');
var range = Editor.Config.GetRange();
var Sel = Editor.Config.Selection();
range.selectNode(NodeID);
range.setStart(NodeID,1);
range.setEnd(NodeID,1);
Sel.removeAllRanges();
Sel.addRange(range);
NodeID.removeAttribute("id");
}
}
WeisEditor.Run.SaveDataStep();
Editor.Config.Select();
//MenuItems.Func.CheckIsExist();
};
WeisEditor.prototype.formatCode = function()
{
if (!Editor.Config.WEditorMode) return;
Editor.Config.SaveSelection();
WeisEditor.Run.SaveDataStep();
var CS = new CoverScreen();
CS.DialogPanel();
CS.Config.dialogWidth = 470;
CS.Config.dialogHeight = 450;
var htmlStr = '';
htmlStr += "<table border='0' cellspacing='0' cellpadding='0' width='100%' align='left'> ";
htmlStr += "<tr>";
htmlStr += "<td style='padding-left:4px;'><select id='selType'></select></td>";
htmlStr += "</tr>";
htmlStr += "<tr>";
htmlStr += "<td align='center'>";
htmlStr += "<textarea id='codearea' style='width:98%;height:360px;text-align:left;border:1px solid #333;'></textarea>";
htmlStr += "</td>";
htmlStr += "</tr>";
htmlStr += "<tr>";
htmlStr += "<td height='30' align='center'>";
htmlStr += "<input type='button' id='btnsend' value='"+WeisLang.InsertCodeOKButton+"' name='btnsend' onclick='Editor.SaveSend(window);' />";
htmlStr += "</td>"
htmlStr += "</tr>";
htmlStr += "</table>";
CS.Config.dialogHTML = htmlStr;
F = CS.IfrDialog(WeisLang.InsertCode,'HTML',CS.Config.dialogHTML,CS);
F.FuncType = "$('codearea').focus();Editor.AddCodeType($('selType'));";
CS.dialogShow(CS,F);
//*/
}
WeisEditor.prototype.Run = function()
{
if (Editor.Config.CodeHTML == '') {alert(WeisLang.InsertCodeEmptyError);return;}
var ReVal = Editor.Config.CodeHTML;
ReVal = Editor.HighLight(ReVal,Editor.Config.CodeType.Value);
var strsp = ReVal.split('<br/>');
this.listCode = "<table cellspacing='0' cellpadding='3' border='1' rules='all' style='width:100%;height:auto;border:1px solid #ddd;border-collapse:collapse;float:left;'>";
this.listCode += "<tr>";
this.listCode += "<td align='left' style='background:#f3f3f3;font-weight:bold;text-align:left;'>"+Editor.Config.CodeType.Text+"</td>"
this.listCode += "</tr>"
this.listCode += "<tr>"
this.listCode += "<td style='padding:4px;text-align:left;' valign='top'>"
this.listCode += "<div><ol name='codeAreaPart' style='border-left:1px solid green;line-height:26px;padding-left:4px;margin: 3px 0 3px 30px;'>"; //float:left 数据显示不了,margin-left:30px ff下才看到左边的竖线.
for (var i=0;i<strsp.length;i++)
{
this.listCode += "<li style='list-style-type:decimal;word-break:break-all;'>" + strsp[i] + "</li>";
}
this.listCode += "</div></td>";
this.listCode += "</tr>";
this.listCode += "</table><br /> ";
Editor.Config.HtmlEdit.focus();
if (window.isIE)
Editor.Config.GetRange().pasteHTML(this.listCode);
else
Editor.Config.pasteContent('WE_CONTHTML_CODE',this.listCode);
WeisEditor.Run.IsLocked = false;
WeisEditor.Run.SaveDataStep();
Editor.Config.HidePanel();
}
WeisEditor.prototype.HighLight = function(htmlStr,lang)
{
return Highlighter.Execute(htmlStr,lang);
}
WeisEditor.prototype.AddCodeType = function(SelID)
{
var arr = new Array();
arr[arr.length] = new hashtable("XML/HTML","xhtml");
arr[arr.length] = new hashtable("JavaScript","javascript");
arr[arr.length] = new hashtable("CSS","css");
arr[arr.length] = new hashtable("C#","csharp");
arr[arr.length] = new hashtable("C++","cpp");
arr[arr.length] = new hashtable("Java","java");
arr[arr.length] = new hashtable("PHP","php");
arr[arr.length] = new hashtable("Python","python");
arr[arr.length] = new hashtable("Ruby","ruby");
arr[arr.length] = new hashtable("SQL","sql");
arr[arr.length] = new hashtable("Visual Basic","vb");
arr[arr.length] = new hashtable("Delphi/Kylix/Pascal","delphi");
arr[arr.length] = new hashtable("ActionScript","as");
for (var i=0;i<arr.length;i++)
{
SelID.options.add(new Option(arr[i].key,arr[i].value));
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -