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

📄 etsooeditor.js

📁 TurboCWCShop v1.6.7 is make in the Utility-LAYer Framework.
💻 JS
📖 第 1 页 / 共 5 页
字号:
	return objArt;
}
//插入可操作对象
ETSOOEditor.InsertObj=function(strTagName,objE,_Add){
	var strPage,numWidth,numHeight,arrAdd=[],blnAdd=false;
	var objLangs=this.Langs;
	if(objE==1){
		blnAdd=true;
		objE=null;
	}else{
		if(objE&&objE.nodeName!=strTagName){
			if((strTagName=="OBJECT"&&objE.nodeName=="EMBED")||strTagName=="SPLITCELL"){}
			else objE=null;
		}else if(strTagName=="CONTROL"||strTagName=="CSS"||strTagName=="IMAGELINK")objE=this.ActiveTarget;
		else if(strTagName=="ART")objE=this.GetWordArt();
	}
	var numType=1,strDAdd;
	switch(strTagName){
		case "IMG":
			if(blnAdd)arrAdd=["Image",objLangs["ImageProperty"]];
			else{
				strPage="Image.htm", numWidth=720, numHeight=400;
			}
			break;
		case "MARQUEE":
			if(blnAdd)arrAdd=["Marquee",objLangs["MarqueeProperty"]];
			else{
				strPage="Marquee.htm", numWidth=420, numHeight=380;
			}
			break;
		case "OBJECT":
		case "EMBED":
			if(_Add=="Flash"||_Add=="application/x-shockwave-flash"){
				if(blnAdd)arrAdd=["Flash",objLangs["FlashProperty"]];
				else{
					strPage="Flash.htm", numWidth=720, numHeight=450;
				}
			}else if(_Add=="Media"){
				if(blnAdd)arrAdd=["Media",objLangs["MediaProperty"]];
				else{
					strPage="Media.htm", numWidth=720, numHeight=450;
				}
			}else if(objE){
				var strSrc;
				if(strNodeName=="EMBED")strSrc=objE.src;
				else strSrc=objE.Movie;
				if(strSrc!=null&&strSrc.toLowerCase().indexOf(".swf")!=-1){
					if(blnAdd)arrAdd=["Flash",objLangs["FlashProperty"]];
					else{
						strPage="Flash.htm", numWidth=720, numHeight=450;
					}
				}else if(objE.URL||objE.Controls){
					if(blnAdd)arrAdd=["Media",objLangs["MediaProperty"]];
					else{
						strPage="Media.htm", numWidth=720, numHeight=450;
					}
				}
			}
			break;
		case "TABLE":
			if(blnAdd)arrAdd=["Table",objLangs["TableProperty"]];
			else{
				strPage="Table.htm", numWidth=500, numHeight=412;
			}
			break;
		case "TD":
			if(blnAdd)arrAdd=["CellProperty",objLangs["CellProperty"],"SplitCell",objLangs["SplitCell"],"InsertRow",objLangs["InsertRow"]];
			else{
				strPage="TableCell.htm", numWidth=420, numHeight=380;
			}
			break;
		case "SPLITCELL":
			if(!blnAdd){
				strPage="TableCellSplit.htm", numWidth=240, numHeight=160;
			}
			break;
		case "FORM":
			if(blnAdd)arrAdd=["Form",objLangs["FormProperty"]];
			else{
				strPage="Form.htm", numWidth=400, numHeight=228;
			}
			break;
		case "INPUT":
			var strType;
			if(blnAdd)strType=_Add;
			else if(_Add)strType=_Add.substr(6).toLowerCase();
			else if(objE)strType=objE.type;
			var strAddId;
			switch(strType){
				case "image":
					strAddId="FormImage";
					if(blnAdd)arrAdd=[strAddId,objLangs[strAddId+"Property"]];
					else{
						strPage="Image.htm", numWidth=720, numHeight=420, strDAdd=2;
					}
					break;
				case "radio":
					strAddId="FormRadio";
				case "checkbox":
					if(strAddId==null)strAddId="CheckBox";
					if(blnAdd)arrAdd=[strAddId,objLangs[strAddId+"Property"]];
					else{
						strPage="FormRadio.htm", numWidth=360, numHeight=200, strDAdd=strType;
					}
					break;
				case "file":
					strAddId="FormFile";
				case "text":
				case "password":
					if(strAddId==null)strAddId="FormText";
					if(blnAdd)arrAdd=[strAddId,objLangs[strAddId+"Property"]];
					else{
						strPage="FormText.htm", numWidth=360, numHeight=190, strDAdd=strType;
					}
					break;
				case "button":
				case "submit":
				case "reset":
					strAddId="FormButton";
					if(blnAdd)arrAdd=[strAddId,objLangs[strAddId+"Property"]];
					else{
						strPage="FormButton.htm", numWidth=360, numHeight=170;
					}
					break;
			}
			break;
		case "TEXTAREA":
			if(blnAdd)arrAdd=["FormTextArea",objLangs["FormTextAreaProperty"]];
			else{
				strPage="FormTextArea.htm", numWidth=360, numHeight=264;
			}
			break;
		case "SELECT":
			if(blnAdd)arrAdd=["FormSelect",objLangs["FormSelectProperty"]];
			else{
				strPage="FormSelect.htm", numWidth=400, numHeight=336;
			}
			break;
		case "LABEL":
			if(blnAdd)arrAdd=["FormLabel",objLangs["FormLabelProperty"]];
			else{
				strPage="FormLabel.htm", numWidth=360, numHeight=170;
			}
			break;
		case "IFRAME":
			if(blnAdd)arrAdd=["InsertFile",objLangs["InsertFileProperty"]];
			else{
				strPage="IFrame.htm", numWidth=500, numHeight=360;
			}
			break;
		case "FACE":
			strPage="Face.htm", numWidth=600, numHeight=420,numType=0;
			break;
		case "FIND":
			strPage="Find.htm", numWidth=412, numHeight=200, numType=0;
			break;
		case "SPECIAL":
			strPage="Special.htm", numWidth=600, numHeight=270,numType=0;
			break;
		case "ANCHOR":
			strPage="Anchor.htm", numWidth=360, numHeight=320;
			break;
		case "A":
			if(blnAdd)arrAdd=["Link",objLangs["LinkProperty"]];
			else{
				strPage="Link.htm", numWidth=420, numHeight=280,strDAdd=_Add;
			}
			break;
		case "IMAGELINK":
			strPage="Area.htm", numWidth=640, numHeight=560;
			break;
		case "CONTROL":
			strPage="Attribute.htm", numWidth=428, numHeight=480;
			break;
		case "CSS":
			strPage="Css.htm", numWidth=640, numHeight=580;
			break;
		case "ART":
			if(blnAdd)arrAdd=["Art",objLangs["ArtProperty"],"ClearArt",this.OtherLangs[6]];
			else{
				strPage="Art.htm", numWidth=600, numHeight=400;
			}
			break;
		case "ABOUT":
			strPage="http://www.etsoo.com/Products/EOEditor/About.asp?d="+document.domain, numWidth=510, numHeight=260;
			break;
		case "HELP":
			strPage="http://www.etsoo.com/Products/EOEditor/", numWidth=640, numHeight=480, numType=-1;
			break;
	}
	if(blnAdd){
		objE=this.ActiveTarget;
		var objT;
		if(strTagName!="TABLE"){
			objT=this.GetTarget(objE,"TABLE");
			if(objT){
				arrAdd=arrAdd.concat(["TableProperty",objLangs["TableProperty"]]);
			}
		}
		if(strTagName!="TD"){
			objT=this.GetTarget(objE,"TD");
			if(objT){
				arrAdd=arrAdd.concat(["CellProperty",objLangs["CellProperty"]]);
			}
		}
		if(strTagName!="FORM"){
			objT=this.GetTarget(objE,"FORM");
			if(objT){
				arrAdd=arrAdd.concat(["Form",objLangs["FormProperty"]]);
			}
		}
		if(strTagName!="MARQUEE"){
			objT=this.GetTarget(objE,"MARQUEE");
			if(objT){
				arrAdd=arrAdd.concat(["Marquee",objLangs["MarqueeProperty"]]);
			}
		}
		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;
}
//获取TDS
ETSOOEditor.GetTDs=function(){
	var objField=this.ActiveField;
	var objWindow=objField.FrameWindow;
	var objSelection=objWindow.document.selection;
	var arrTDs=[];
	if(objSelection){
		var objRange=objSelection.createRange();
		var objParent
		var blnAll=false;
		if(objRange.length==null)objParent=objRange.parentElement();
		else{
			objParent=objRange(0);
			if(objParent.nodeName=="TABLE")blnAll=true;
		}
		var objTD=this.GetTarget(objParent,"TD");
		if(objTD){
			arrTDs=[objTD];
		}else{
			var objTable=this.GetTarget(objParent,"TABLE");
			if(objTable){
				var arrTemp=objTable.getElementsByTagName("TD");
				var numLen=arrTemp.length;
				for(var numI=0;numI<numLen;numI++){
					objTemp=arrTemp[numI];
					if(this._GetTDsAdd(objSelection,objRange,objTemp,blnAll)){
						arrTDs=arrTDs.concat(objTemp);
					}
				}
			}
		}
	}
	return arrTDs;
}
//补充判断
ETSOOEditor._GetTDsAdd=function(objSelection,objRange,objTemp,blnAll){
	var blnHave=false;
	if(window.Node){
		blnHave=objSelection.containsNode(objTemp,true);
	}else{
		if(!blnAll){
			var objCellRange=objRange.duplicate();
			objCellRange.moveToElementText(objTemp);
			if(objRange.inRange(objCellRange)||(objRange.compareEndPoints('StartToStart',objCellRange)>= 0&&objRange.compareEndPoints('StartToEnd',objCellRange)<= 0)||(objRange.compareEndPoints('EndToStart',objCellRange)>=0&&objRange.compareEndPoints('EndToEnd',objCellRange)<= 0))blnHave=true;
		}else{
			blnHave=true;
		}
	}
	return blnHave;
}
//进行合规性判断
function EditorTableValid(objTD){
	this.Valid==false;
	this.TR;
	this.Table;
	if(objTD){
		objTR=ETSOOEditor.GetTarget(objTD,"TR");
		if(objTR){
			objTable=ETSOOEditor.GetTarget(objTD,"TABLE");
			if(objTable){
				this.Valid=true;
				this.TR=objTR;
				this.Table=objTable;
			}
		}
	}
}
//获取表格列数
function EditorTableGetCols(objTD,numMaxCol){
	var numCols=0;
	var objTR=ETSOOEditor.GetTarget(objTD,"TR");
	if(objTR){
		if(numMaxCol==null)numMaxCol=objTR.cells.length;
		for(var numI=0;numI<numMaxCol;numI++){
			numCols+=objTR.cells(numI).colSpan;
		}
	}
	return numCols;
}
//获取表格列数
function EditorTableGetRows(objTD,numMaxRow){
	var numRows=0;
	var objTable=ETSOOEditor.GetTarget(objTD,"TABLE");
	if(objTable){
		var numCellIndex=objTD.cellIndex;
		if(numMaxRow==null)numMaxRow=objTable.rows.length;
		for(var numI=0;numI<numMaxRow;numI++){
			var objTempRow=objTable.rows(numI);
			var numTempCells=objTempRow.cells.length;
			if(numTempCells>=numCellIndex)numRows+=objTempRow.cells(numCellIndex).rowSpan;
			else numRow++;
		}
	}
	return numRows;
}
//插入行
function EditorTableInsertRow(numType){
	var objTDs=ETSOOEditor.GetTDs();
	if(objTDs&&objTDs.length>0){
		var objTD=objTDs[0];
		var objValid=new EditorTableValid(objTD);
		if(!objValid.Valid)return false;
		
		var numCellIndex=objTD.cellIndex;
		var objTR=objValid.TR;
		var numRowIndex=objTR.rowIndex;
		var objTable=objValid.Table;
		
		if(numType==1){
			objTR.removeNode(true);
			if(objTable.rows.length==0)objTable.removeNode(true);
		}
		else{
			var numCols=EditorTableGetCols(objTD);
			var numI=0;
			var objNewTR=objTable.insertRow(numRowIndex);
			while(numI<numCols)
			{
				var objTempTD=objTR.cells(numI);
				if(objTempTD==null)break;
				var numColSpan=objTempTD.colSpan;
				var numRowSpan=objTempTD.rowSpan;
				numI+=numColSpan;
				if(numRowSpan>1)objTempTD.rowSpan+=1;
				else
				{
					var objNewTD=objNewTR.insertCell();
					objNewTD.innerHTML="&nbsp;";
					objNewTD.mergeAttributes(objTempTD);
				}
			}
		}
	}
}
//插入列
function EditorTableInsertCol(numType){
	var objTDs=ETSOOEditor.GetTDs();
	if(objTDs&&objTDs.length>0){
		var objTD=objTDs[0];
		var objValid=new EditorTableValid(objTD);
		if(!objValid.Valid)return false;

⌨️ 快捷键说明

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