📄 simpleetsooeditor.js
字号:
function ETSOOEditor(){}
if(typeof(ETSOOPreloadImage)=="undefined")ETSOOPreloadImage=true;
ETSOOEditor.PreloadImage=ETSOOPreloadImage;
if(typeof(ETSOOActiveStatus)=="undefined")ETSOOActiveStatus="auto";
var ETSOOEditor_Start=new Date().valueOf();
ETSOOEditor.ActiveStatus=ETSOOActiveStatus;
function _EEGetPath(){
var arrScripts=document.getElementsByTagName("script");
var numLen=arrScripts.length;
var regEditor=/(.*)SimpleETSOOEditor\.js/gi;
for(var numI=0;numI<numLen;numI++){
var strSrc=arrScripts[numI].src;
if(regEditor.test(strSrc)){
var strPath=RegExp.$1;
return ETSOOEditor.GetRelativePath(strPath);
}
}
}
function ETSOOGetPos(objE){
var numLeft=0,numTop=0;
while(objE){
numLeft+=objE.offsetLeft;
numTop+=objE.offsetTop;
objE=objE.offsetParent;
}
return new Array(numLeft,numTop);
}
function _EEGetLanguage(strLanguage){
var arrLanguages=new Array();
arrLanguages["zh-cn"]="gb2312";
arrLanguages["en"]="iso8859-1";
if(strLanguage==null){
if(ETSOOEditor.Browser>100)strLanguage=window.navigator.userLanguage;
else strLanguage=window.navigator.language;
if(strLanguage==null)strLanguage="en";
}
strLanguage=strLanguage.toLowerCase();
if(arrLanguages[strLanguage]==null){
strLanguage=strLanguage.split("-")[0];
if(arrLanguages[strLanguage]==null)strLanguage="en";
}
return strLanguage;
}
function _EEGetBrowser(){
var numVersion=0,strApp=navigator.appVersion;
if(window.navigator.language==null){
var regApp=/ MSIE (.*);/gi;
if(regApp.test(strApp))numVersion=100+parseFloat(RegExp.$1);
}else numVersion=parseFloat(strApp);
return numVersion;
}
ETSOOEditor.Browser=_EEGetBrowser();
if(ETSOOEditor.Browser<100){
CMD_BOLD = "bold";
CMD_COPY = "copy";
CMD_CUT = "cut";
CMD_DELETE = "Delete";
CMD_FONT = "fontname";
CMD_HYPERLINK = "createlink";
CMD_INDENT = "indent";
CMD_HR = "inserthorizontalrule";
CMD_ITALIC = "italic";
CMD_CENTER = "justifycenter";
CMD_LEFT = "justifyleft";
CMD_RIGHT = "justifyright";
CMD_FULL = "justifyfull";
CMD_ORDERLIST = "insertorderedlist";
CMD_OUTDENT = "outdent";
CMD_PASTE = "paste";
CMD_REDO = "redo";
CMD_REMOVEFORMAT = "removeformat";
CMD_SELECTALL = "selectall";
CMD_BGCOLOR = "backcolor";
CMD_SETBLOCKFMT = "formatblock";
CMD_FONTSET = "fontname";
CMD_FONTSIZE = "fontsize";
CMD_FORECOLOR = "forecolor";
CMD_STRIKETHROUGH = "strikethrough";
CMD_SUBSCRIPT = "subscript";
CMD_SUPERSCRIPT = "superscript";
CMD_UNDERLINE = "underline";
CMD_UNDO = "undo";
CMD_UNLINK = "unlink";
CMD_UNORDERLIST = "insertunorderedlist";
// User Interface
UI_DEFAULT = false;
UI_YES = true;
UI_NO = false;
}else{
CMD_BOLD = "Bold";
CMD_COPY = "Copy";
CMD_CUT = "Cut";
CMD_DELETE = "Delete";
CMD_FONT = "FontName";
CMD_HYPERLINK = "CreateLink";
CMD_INDENT = "Indent";
CMD_HR = "InsertHorizontalRule";
CMD_ITALIC = "Italic";
CMD_CENTER = "JustifyCenter";
CMD_LEFT = "JustifyLeft";
CMD_RIGHT = "JustifyRight";
CMD_FULL = "JustifyFull";
CMD_ORDERLIST = "InsertOrderedList";
CMD_OUTDENT = "Outdent";
CMD_PASTE = "Paste";
CMD_REDO = "Redo";
CMD_REMOVEFORMAT = "RemoveFormat";
CMD_SELECTALL = "SelectAll";
CMD_BGCOLOR = "BackColor";
CMD_SETBLOCKFMT = "FormatBlock";
CMD_FONTSET = "FontName";
CMD_FONTSIZE = "FontSize";
CMD_FORECOLOR = "ForeColor";
CMD_STRIKETHROUGH = "StrikeThrough";
CMD_SUBSCRIPT = "SubScript";
CMD_SUPERSCRIPT = "SuperScript";
CMD_UNDERLINE = "Underline";
CMD_UNDO = "Undo";
CMD_UNLINK = "Unlink";
CMD_UNORDERLIST = "InsertUnorderedList";
// User Interface
UI_DEFAULT = false;
UI_YES = true;
UI_NO = false;
}
ETSOOEditor.AutoClearWord=ETSOOEditor.Browser<105.5?false:true;
ETSOOEditor.ActiveField=null;
ETSOOEditor.ActiveTarget=null;
ETSOOEditor.MenuBar=null;
ETSOOEditor.Fields=[];
ETSOOEditor.ReadyState=0;
ETSOOEditor.Version="4.0.0";
ETSOOEditor.GetBasePath=function(){
var strBase=document.domain;
var numPort=document.location.port;
if(numPort!="")strBase+=':'+numPort;
return strBase;
}
ETSOOEditor.GetRelativePath=function(strPath){
var strBase=this.GetBasePath();
strPath=strPath.replace(new RegExp("http://"+strBase,"gi"),"");
return strPath;
}
var _BasePath=_EEGetPath();
_BasePath=_BasePath.replace(/\/\//gi,"\/");
ETSOOEditor.Path=_BasePath;
ETSOOEditor.Langs=[];
ETSOOEditor.Inco={
CUT: "cut.gif",CUTDISABLED: "cutdisabled.gif",COPY: "copy.gif",COPYDISABLED: "copydisabled.gif",PASTE: "paste.gif",PASTEDISABLED: "pastedisabled",FIND: "search.gif",
PASTETEXT: "pastetext.gif",PASTEWORD: "pasteword.gif",DELETE: "delete.gif",DELETEDISABLED: "deletedisabled.gif",UNDO: "undo.gif",UNDODISABLED: "undodisabled.gif",REDO: "redo.gif",REDODISABLED: "redodisabled.gif",EMOTION: "emotion.gif",FLASH: "flash.gif",
MARQUEE: "marquee.gif",SPECIAL: "special.gif",IMAGE: "image.gif",LAYER: "layer.gif", HR: "hr.gif",LINK: "link.gif",LINKDISABLED: "linkdisabled.gif",
TAB: "tab.gif",HELP: "help.gif",ABOUT: "about.gif",
BOLD: "bold.gif",ITALIC: "italic.gif",UNDERLINE: "underline.gif",STRIKETHROUGH: "strikethrough.gif",REMOVEFORMAT: "removeformat.gif",LEFT: "justifyleft.gif",RIGHT: "justifyright.gif",CENTER: "justifycenter.gif",FULL: "justifyfull.gif",FORECOLOR: "forecolor.gif",
BGCOLOR: "backcolor.gif",ORDERLIST: "number.gif",UNORDERLIST: "unnumber.gif",INDENT: "indent.gif",OUTDENT: "outdent.gif",SUPERSCRIPT: "superscript.gif",SUPERSCRIPTDISABLED: "superscriptdisabled.gif",SUBSCRIPT: "subscript.gif",SUBSCRIPTDISABLED: "subscriptdisabled.gif",ABSOLUTEPOS: "abspos.gif",
DESIGN: "ViewDesign.gif",CODE: "ViewCode.gif",PREVIEW: "ViewPreview.gif",
INCREASE: "increase.gif",DECREASE: "decrease.gif",BLANK: "blank.gif",MORE: "more.gif", MOREDISABLED: "moredisabled.gif", CALENDAR: "calendar.gif",TIME: "time.gif", SELECTALL: "selectall.gif", EOEDITOR: "eoeditor.gif", INSERTFILE: "file.gif"
};
if(ETSOOEditor.PreloadImage)_preLoadImage();
function _preLoadImage(){
for(strItem in ETSOOEditor.Inco){
var strImage=ETSOOEditor.Inco[strItem];
var objImage=new Image();
objImage.src=_BasePath+"Images/"+strImage;
ETSOOEditor.Inco[strItem]=objImage;
}
};
ETSOOEditor.GetImgSrc=function(strName){
var strSrc;
with(this){
if(PreloadImage)strSrc=Inco[strName].src;
else strSrc=Path+"Images/"+Inco[strName];
}
return strSrc;
}
ETSOOEditor.BaseFonts=["Arial","Arial Black","Arial Narrow","Brush ScripMT","Century Gothic","Comic Sans MS","Courier","Courier New","MS Sans Serif","Script","System","Times New Roman","Verdana","Wide Latin","Wingdings","Wingdings 2","Wingdings 3"];
ETSOOEditor.AddFonts=[];
var _BaseLanguage;
if(typeof(ETSOOBaseLanguage)=="undefined")_BaseLanguage=_EEGetLanguage();
else _BaseLanguage=ETSOOBaseLanguage;
ETSOOEditor.BaseLanguage=_BaseLanguage;
ETSOOEditor._GetImgStr=function(strPath,strBgColor,numWidth,numHeight,strName,strLang,strAdd){
var strImgSrc="blank.gif";
if(!this.PreloadImage){
var strIndex=strName;
if(strIndex.substring(0,2)=="EE")strIndex=strIndex.substr(2);
strImgSrc=this.Inco[strIndex.toUpperCase()];
}
var strImg='<img src="'+strPath+'Images/'+strImgSrc+'" align="absbottom" style="border:1px solid '+strBgColor+'" width="'+numWidth+'" heigh="'+numHeight+'"';
if(strName=="EEMore")strImg+=' target="'+strAdd+'" menutarget="'+strAdd+'"';
strImg+=' id="'+strName+'" title="'+strLang+'" basetitle="'+strLang+'"';
strImg+='>';
return strImg;
}
ETSOOEditor.History=function(objField){
this.Field=objField;
this.Data=[];
this.BookMark=[];
this.Position=0;
this.Add=function(numType){
if(!ETSOOEditor.ActiveStatus)return;
if(numType==null)ETSOOEditor._FrameOnBlur();
var objField=this.Field;
var numPos=this.Position;
var numLen=this.Data.length;
if(objField.Mode!="Preview"){
var strContent=objField.TextArea.value;
if(this.Data[numPos]!=strContent){
numPos++;
for(var numI=0;numI<numLen-numPos;numI++){
this.Data.pop();
this.BookMark.pop();
}
this.Data[numPos]=strContent;
numLen=numPos+1;
var objSelection=objField.FrameWindow.document.selection;
if(objSelection.type!="Control")this.BookMark[numPos]=objSelection.createRange().getBookmark();
else this.BookMark[numPos]=objSelection.createRange()[0];
this.Position=numPos;
}
}
ETSOOEditor._SetRedoUndo(numLen,numPos);
}
this.Go=function(numStep){
var objField=this.Field;
var blnValid=false;
var numLen=this.Data.length;
var numPos=this.Position;
numPos+=numStep;
if(numStep>0){
if(numPos<=numLen-1)blnValid=true;
}else{
if(numPos>=0)blnValid=true;
}
if(blnValid){
this.Position=numPos;
if(objField.TextArea.style.display=="none")objField.FrameWindow.document.body.innerHTML=this.Data[this.Position];
else objField.TextArea.value=this.Data[this.Position];
this.SetCursor();
ETSOOEditor._SetRedoUndo(numLen,numPos);
}
}
this.SetCursor=function(){
var objRange=this.Field.FrameWindow.document.body.createTextRange();
var strBM=this.BookMark[this.Position];
if(strBM!="[object]"&&strBM!=null){
if(objRange.moveToBookmark(strBM)){
objRange.collapse(false);
objRange.select();
}
}
}
}
ETSOOEditor._SetRedoUndo=function(numLen,numPos){
var numType=-1;
if(numLen>1&&numPos>0)numType=0;
ETSOOEditor._SetButton("Undo",numType);
var numType=-1;
if(numPos<numLen-1)numType=0;
ETSOOEditor._SetButton("Redo",numType);
}
ETSOOEditor.GetObj=function(strId){
return document.getElementById(strId);
}
ETSOOEditor._doMouseEvent=function(objE,strType){
var strClassName=objE.className;
if(strClassName!="Keep"&&strClassName!="Disabled"){
if(strType=="Over")
{
with(objE.style){
borderLeft="1px solid buttonhighlight";
borderTop="1px solid buttonhighlight";
borderRight="1px solid buttonshadow";
borderBottom="1px solid buttonshadow";
backgroundColor="";
}
}
else if(strType=="Out")
{
var strBgColor;
var objT=ETSOOEditor.MenuBar;
if(objT==null||objE.id=="ToolDiv")objT=ETSOOEditor.GetTarget(objE.parentNode,"DIV");
strBgColor=objT.style.backgroundColor;
with(objE.style){
border="1px solid "+strBgColor;
backgroundColor="";
}
objE.setAttribute("Active",0);
}
else if(strType=="Down")
{
with(objE.style){
borderLeft="1px solid buttonshadow";
borderTop="1px solid buttonshadow";
borderRight="1px solid buttonhighlight";
borderBottom="1px solid buttonhighlight";
backgroundColor="#FFFFFF";
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -