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

📄 simpleetsooeditor.js

📁 TurboCWCShop v1.6.7 is make in the Utility-LAYer Framework.
💻 JS
📖 第 1 页 / 共 5 页
字号:
			break;
	}
	if(blnAdd){
		objE=this.ActiveTarget;
		var objT;
		if(strTagName!="A"){
			objT=this.GetTarget(objE,"A");
			if(objT){
				arrAdd=arrAdd.concat(["Link",objLangs["LinkProperty"]]);
			}
		}
		return arrAdd;
	}
	else if(strPage){
		var arrControl=[0,0];
		if(strPage.indexOf("http://")==-1)strPage=this.Path+"Dialogs/"+strPage;
		else arrControl=[1,1];
		var arrArgs=[self,objE,strDAdd];
		window.ETSOOSavedArguments=arrArgs;
		ETSOOPopup.Open(strPage,arrArgs,numWidth,ETSOOGetAdjustHeight(numHeight),numType,arrControl);
	}
	else return false;
}

ETSOOEditor.SetColor=function(strColor,strId){
	var objTarget=this.GetObj(strId);
	if(objTarget){
		objTarget.nextSibling.style.backgroundColor=strColor;
		this.MouseClick(objTarget);
	}
}

ETSOOEditor._GetEventObj=function(objEvent){
	if(objEvent)return (objEvent.srcElement)?objEvent.srcElement:objEvent.target;
}

ETSOOEditor._GetActiveField=function(strId){
	var numPos=strId.indexOf("ETSOOEditorFrame_");
	if(numPos==0)strId=strId.substr(17);
	var objOne=this.Fields[strId];
	if(objOne!=null)this.ActiveField=objOne;
	return objOne;
}

ETSOOEditor._FrameOnFocus=function(objEvent){
	var objTarget=ETSOOEditor._GetEventObj(objEvent);
	var objActive=ETSOOEditor._GetActiveField(objTarget.id);
	if(objActive&&ETSOOEditor.Browser>100)objActive.History.Add();
	ETSOOEditor._DocOnSelectionChange(objEvent);
}

ETSOOEditor._FrameOnBlur=function(numType){
	ETSOOEditor._SaveContent();
	if(ETSOOEditor.Browser>100){
		var objActive=ETSOOEditor.ActiveField;
		if(objActive)objActive.History.Add(1);
	}
}

ETSOOEditor._SaveContent=function(strName,numType){
	var objField;
	if(strName!=null)objField=this.Fields[strName];
	else{
		objField=this.ActiveField;
		numType=1;
	}
	if(objField&&objField.FrameWindow.document.body){
		if(objField.TextArea.style.display=="none"){
			var strContent=objField.FrameWindow.document.body.innerHTML;
			if(ETSOOEditor.Browser>100)strContent=this.GetRelativePath(strContent);
			objField.TextArea.value=strContent;
		}
		else if(numType==1)objField.FrameWindow.document.body.innerHTML=objField.TextArea.value;
	}
}

ETSOOEditor._FormOnSubmit=function(objEvent){
	var objTextArea=ETSOOEditor._GetEventObj(objEvent).getElementsByTagName("textarea");
	var numLen=objTextArea.length;
	for(var numI=0;numI<numLen;numI++){
		var objOne=objTextArea[numI];
		if(objOne.className=="SaveData"){
			ETSOOEditor._SaveContent(objOne.name);
		}
	}
}

ETSOOEditor._DocOnClick=function(objEvent){
	ETSOOPopup.HideFrame();
}

ETSOOEditor._DocMouseUp=function(objEvent){
	if(ETSOOEditor.Browser==105.5)window.ETSOOEditorSavedRange=document.selection.createRange().duplicate();
	ETSOOEditor._DocOnSelectionChange(objEvent);
	var objField=ETSOOEditor.ActiveField;
	if(objField){
		var objDiv=objField.Div;
		if(ETSOOEditor.MenuBar&&objDiv.getAttribute("ContentType")!=1&&(objDiv.previousSibling==null||objDiv.previousSibling.id!="ETSOOEditor")){
			objDiv.parentNode.insertBefore(ETSOOEditor.MenuBar,objDiv);
			ETSOOEditor._SetShow("EEForeColor");
			ETSOOEditor._SetShow("EEBgColor");
		}
	}
}

ETSOOEditor._DocOnDblClick=function(objEvent){
	if(objEvent==null)return false;
	var objField=ETSOOEditor.ActiveField;
	if(objField.Mode!="Design")return;
	var objE=ETSOOEditor._GetEventObj(objEvent);
	ETSOOEditor.InsertObj(objE.nodeName,objE);
}

ETSOOEditor._DocOnKeyPress=function(objEvent){
	ETSOOPopup.HideFrame();
	if(objEvent==null)return;
	if(objEvent.ctrlKey){
		var numKeyCode=objEvent.keyCode;
		var objActive=ETSOOEditor.ActiveTarget;
		var objField=ETSOOEditor.ActiveField;
		var objDoc=objField.FrameWindow.document;
		var blnSet=true;
		var numBrowser=ETSOOEditor.Browser;
		switch(numKeyCode){
			//F-Find, F-Find, X-Cut, V-Paste, C-Copy, D-Delete
			//M-Image, G-Face, B-Bold, I-Italic, U-Underline, L-Left, E-Center, R-Right
			case 13: 
				var objTextArea=objField.TextArea;
				var objForm=objTextArea.form;
				if(objForm){
					var blnOK=true;
					ETSOOEditor._SaveContent();
					if(objForm.onsubmit)blnOK=objForm.onsubmit();
					if(blnOK)objForm.submit();
				}
				break;
			case 69: //E
				objDoc.execCommand(CMD_CENTER,UI_DEFAULT,null);
				if(numBrowser>100)objField.History.Add();
				break;
			case 71: //G
				ETSOOEditor.InsertObj("FACE");
				break;
			case 75: //K
				var objE;
				if(objActive.tagName=="A")objE=objActive;			
				ETSOOEditor.InsertObj("A",objE);
				break;		
			case 76: //L
				objDoc.execCommand(CMD_LEFT,UI_DEFAULT,null);
				if(numBrowser>100)objField.History.Add();
				break;
			case 77: //M
				var objE;
				if(objActive.tagName=="IMG")objE=objActive;
				ETSOOEditor.InsertObj("IMG",objE);
				break;
			case 82: //R
				objDoc.execCommand(CMD_RIGHT,UI_DEFAULT,null);
				if(numBrowser>100)objField.History.Add();
				break;
			case 89: //Y
				if(numBrowser>100)objField.History.Go(1);
				else objDoc.execCommand(CMD_REDO,UI_DEFAULT, null);
				break;
			case 90: //Z
				if(numBrowser>100)objField.History.Go(-1);
				else objDoc.execCommand(CMD_UNDO,UI_DEFAULT, null);
				break;
			case 189: //-
			case 109:
				if(numBrowser<100)break;
				var objDecrease=ETSOOEditor._GetNamedDiv(objField.Div,"Decrease");
				if(objDecrease)ETSOOEditor.MouseClick(objDecrease);
				break;
			case 187:
			case 107:
				if(numBrowser<100)break;
				var objIncrease=ETSOOEditor._GetNamedDiv(objField.Div,"Increase");
				if(objIncrease)ETSOOEditor.MouseClick(objIncrease);				
				break;
			default:
				blnSet=false;
		}
		if(blnSet){
			ETSOOEditor._FrameOnBlur();
			ETSOOEditor.CancelBubble(objEvent);
			return false;
		}
	}
}

ETSOOEditor._GetNamedDiv=function(objDiv,strName){
	var arrDivs=objDiv.getElementsByTagName("div");
	var numLen=arrDivs.length;
	for(var numI=0;numI<numLen;numI++){
		var objOne=arrDivs[numI];
		if(objOne.getAttribute("name")==strName)return objOne;
	}
}

ETSOOEditor._DocOnContextMenu=function(objEvent){
	if(ETSOOEditor.MenuBar==null)return false;
	ETSOOEditor._DocOnSelectionChange(objEvent);
	if(objEvent==null)return;
	var objField=ETSOOEditor.ActiveField;
	if(objField.Mode!="Design")return;
	var arrPos=ETSOOGetPos(objField.FrameDocument);
	var numLeft=objEvent.clientX+arrPos[0],numTop=objEvent.clientY+arrPos[1];
	var objPopup=new ETSOOPopup();
	objPopup.BgColor=objField.BgColor;
	var strPath=ETSOOEditor.Path;
	objPopup.Skin=strPath+"Skins/"+ETSOOEditor.ActiveField.Skin+"/Popup.css";
	var arrSubMenu=ETSOOEditor._GetMenuItem(objEvent);
	var arrMenus=ETSOOEditor.GetSubMenu(arrSubMenu);
	var strContent=arrMenus[0];
	objPopup.Height=arrMenus[1]*24+arrMenus[2]*6+4;
	if(window.createPopup==null){
		objPopup.URL=strPath+"Dialogs/ContextMenu.htm";
	}
	objPopup.Content=strContent;
	objPopup.Left=numLeft;
	objPopup.Top=numTop;
	objPopup.Show();
	ETSOOEditor.CancelBubble(objEvent);
	return false;
}

ETSOOEditor.CancelBubble=function(objEvent){
	if(ETSOOEditor.Browser>100)objEvent.cancelBubble=true;
	else objEvent.preventDefault();
}

ETSOOEditor._GetMenuItem=function(objEvent){
	var objLangs=this.Langs;
	var arrItems=new Array("SelectAll",objLangs["SelectAll"],"PasteWord",objLangs["Paste"]);
	var objCut=this.GetObj("EECut");
	if(objCut&&objCut.className!="Disabled"){
		arrItems=arrItems.concat("NewLine","","Cut",objLangs["Cut"],"Copy",objLangs["Copy"],"Delete",objLangs["Delete"]);
	}
	var objE=this._GetEventObj(objEvent);
	if(objE.nodeName=="BODY"&&this.Browser>100){
		var objRange=this.ActiveField.FrameWindow.document.selection.createRange();
		if(objRange.length!=null)objE=objRange(0);
	}
	this.ActiveTarget=objE;
	var strNodeName=objE.nodeName;
	var strType=objE.type;
	if(strNodeName=="OBJECT"){
		if(objE.Movie)strType="Flash";
		else strType="Media";
	}
	var arrAdd=this.InsertObj(strNodeName,1,strType);
	var numLen=arrAdd.length;
	if(numLen>0){
		arrItems=arrItems.concat("NewLine","");
		arrItems=arrItems.concat(arrAdd);
	}
	return arrItems;
}

ETSOOEditor._DocOnPaste=function(){
	if(ETSOOEditor.AutoClearWord){
		var strHtml=ETSOOEditor._GetSavedHTML();
		var regWord=/<\w[^>]* class="?MsoNormal"?/gi;
		if(regWord.test(strHtml)){
			ETSOOEditor._ClearAndInsertWordHtml(strHtml);
			return false;
		}
	}
}

ETSOOEditor._GetSavedHTML=function(){
	var strHtml;
	if(ETSOOEditor.Browser>=105.5){
		var objDiv=document.getElementById("ETSOOEditorTempleData");
		objDiv.innerHTML="";
		var objRange=document.body.createTextRange();
		objRange.moveToElementText(objDiv);
		objRange.execCommand("Paste");
		strHtml=objDiv.innerHTML;
		objDiv.innerHTML="";
	}else if(window.clipboardData){
		strHtml=window.clipboardData.getData("Text");
		if(strHtml==null)strHtml="";
		strHtml=strHtml.replace(/\n\n/gi,"<p>");
		strHtml=strHtml.replace(/\n/gi,"<br>");
		strHtml=strHtml.replace(/(  ){2}/gi,"&nbsp;&nbsp;&nbsp;&nbsp;");
		strHtml=strHtml.replace(/(&nbsp;){5,}/gi," " );
	}
	return strHtml;
}

ETSOOEditor._ClearAndInsertWordHtml=function(strHtml){
	strHtml=strHtml.replace(/<\/?SPAN[^>]*>/gi,"");
	strHtml=strHtml.replace(/<(\w[^>]*)\s+class=([^ |>]*)([^>]*)/gi,"<$1$3");
	strHtml=strHtml.replace(/<(\w[^>]*)\s+style="([^"]*)"([^>]*)/gi,"<$1$3");
	strHtml=strHtml.replace(/<(\w[^>]*)\s+lang=([^ |>]*)([^>]*)/gi,"<$1$3");
	strHtml=strHtml.replace(/<\\?\?xml[^>]*>/gi,"");
	strHtml=strHtml.replace(/<\/?\w+:[^>]*>/gi,"");
	strHtml=strHtml.replace(/(&nbsp;){5,}/gi," " );
	this.InsertHTML(strHtml);
}

ETSOOEditor._DocOnSelectionChange=function(strAction,strAdd){
	if(ETSOOEditor.ReadyState==0)return;
	if(!ETSOOEditor.ActiveStatus)return;
	var arrObj=ETSOOEditor.GetRange();
	if(arrObj==null)return false;
	var objBody=arrObj[1];
	var objSelection=arrObj[2];
	var objRange=arrObj[3];
	var objTarget,numType=0;
	var numAbsPos=0,numCut=0;
	var numBrowser=ETSOOEditor.Browser;
	if(objRange){
		if(objRange.length==null){
			objTarget=objRange.parentElement();
			if(objTarget){
				var numNodeType=objTarget.nodeType;
				var strText=objRange.text;

⌨️ 快捷键说明

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