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

📄 editor.js

📁 教师评估系统
💻 JS
📖 第 1 页 / 共 2 页
字号:
case 'PASTE':
	SimpleExecute('paste');
	break;
case 'SELECTALL':
	SimpleExecute('selectall');
	break;
case 'SUBSCRIPT':
	SimpleExecute('subscript');
	break;
case 'SUPERSCRIPT':
	SimpleExecute('superscript');
	break;
case 'BOLD':
	SimpleExecute('bold');
	break;
case 'ITALIC':
	SimpleExecute('italic');
	break;
case 'UNDERLINE':
	SimpleExecute('underline');
	break;
case 'JUSTIFYLEFT':
	SimpleExecute('justifyleft');
	break;
case 'JUSTIFYCENTER':
	SimpleExecute('justifycenter');
	break;
case 'JUSTIFYRIGHT':
	SimpleExecute('justifyright');
	break;
case 'JUSTIFYFULL':
	SimpleExecute('justifyfull');
	break;
case 'NUMBEREDLIST':
	SimpleExecute('insertorderedlist');
	break;
case 'UNORDERLIST':
	SimpleExecute('insertunorderedlist');
	break;
case 'INDENT':
	SimpleExecute('indent');
	break;
case 'OUTDENT':
	SimpleExecute('outdent');
	break;
case 'REMOVE':
	SimpleExecute('removeformat');
	break;
case 'FONTNAME_END':
	WxEditorForm.focus();
	//DoSelect();
	ExecuteValue('fontname',value);
	//DisableMenu();
		break;
case 'FONTSIZE_END':
	WxEditorForm.focus();
	value = value.substr(0,1);
	//DoSelect();
	ExecuteValue('fontsize',value);
	//DisableMenu();
	break;
case 'TEXTCOLOR':
	DisplayMenu(cmd);
	break;
case 'TEXTCOLOR_END':
	WxEditorForm.focus();
	DoSelect();
	ExecuteValue('ForeColor',value);
	DisableMenu();
	break;
case 'BGCOLOR':
	DisplayMenu(cmd);
	break;
case 'BGCOLOR_END':
	WxEditorForm.focus();
	if (BROWSER == 'IE') {
		DoSelect();
		ExecuteValue('BackColor',value);
	}else{
		var startRangeNode = RANGE.startContainer;
		if (startRangeNode.nodeType == 3) {
			var parent = startRangeNode.parentNode;
			var element = document.createElement("font");
			element.style.backgroundColor = value;
			element.appendChild(RANGE.extractContents());
			var startRangeOffset = RANGE.startOffset;
			var newRange = document.createRange();
			var afterNode;
			var textNode = startRangeNode;
			startRangeNode = textNode.parentNode;
			var text = textNode.nodeValue;
			var textBefore = text.substr(0,startRangeOffset);
			var textAfter = text.substr(startRangeOffset);
			var beforeNode = document.createTextNode(textBefore);
			var afterNode = document.createTextNode(textAfter);
			startRangeNode.insertBefore(afterNode,textNode);
			startRangeNode.insertBefore(element,afterNode);
			startRangeNode.insertBefore(beforeNode,element);
			startRangeNode.removeChild(textNode);
			newRange.setEnd(afterNode,0);
			newRange.setStart(afterNode,0);
			SELECTION.addRange(newRange);
		}
		}
	DisableMenu();
	break;
case 'ICON':
	showDialog("emot.htm");
	break;
case 'ICON_END':
	WxEditorForm.focus();
	var element = document.createElement("img");
	element.src = value;
	element.border = 0;
	element.alt = "";
	DoSelect();
	InsertItem(element);
	DisableMenu();
	break;
case 'IMAGE':
	showDialog("image.htm");
	break;
case 'FLASH':
	showDialog("media.htm");
	break;
case 'MEDIA':
	showDialog("media.htm");
	break;
case 'REAL':
	showDialog("media.htm");
	break;
case 'LINK':
	DisplayMenu(cmd);
	LinkIframe.focus();
	LINK_DOCUMENT.getElementById(cmd+'submitButton').focus();
	break;
case 'UNLINK':
	SimpleExecute('unlink');
	break;
case 'SPECIALCHAR':
	showDialog("symbol.htm");
	break;
case 'DATE':
	WxEditorForm.focus();
	DoSelection();
	var date = new Date();
	var year = date.getFullYear().toString(10);
	var month = (date.getMonth() + 1).toString(10);
	month = month.length < 2 ? '0' + month : month;
	var day = date.getDate().toString(10);
	day = day.length < 2 ? '0' + day : day;
	var value = year + '-' + month + '-' + day;
	var element = document.createElement("span");
	element.appendChild(document.createTextNode(value));
	InsertItem(element);
	DisableMenu();
	break;
case 'TIME':
	WxEditorForm.focus();
	DoSelection();
	var date = new Date();
	var hour = date.getHours().toString(10);
	hour = hour.length < 2 ? '0' + hour : hour;
	var minute = date.getMinutes().toString(10);
	minute = minute.length < 2 ? '0' + minute : minute;
	var second = date.getSeconds().toString(10);
	second = second.length < 2 ? '0' + second : second;
	var value = hour + ':' + minute + ':' + second;
	var element = document.createElement("span");
	element.appendChild(document.createTextNode(value));
	InsertItem(element);
	DisableMenu();
	break;
default: 
	break;
}
}
}
}
function DisableToolbar()
{
if (EDITMODE=="CODE") {
document.getElementById("FontName").disabled="disabled";
document.getElementById("FontSize").disabled="disabled";
}else{
document.getElementById("FontName").disabled="";
document.getElementById("FontSize").disabled="";
EDITFORM_DOCUMENT.designMode = 'On';
}
}
function showIcon(id){
var str;
if (id==99) {
str="<img src='"+imgPath+"tb.space.gif' align='absmiddle'>";
}else{
if (id==98) {
str="</div>";
}else{
if (id==97) {
str="<div style='height:26px;background-image:url("+imgPath+"tb.bg.gif);'><img src='"+imgPath+"tb.start.gif' align='absmiddle' />";
}else{
if (id==96) {
str="<select class='tben' id=\"FontName\" onchange=\"javascript:DoExecute('FONTNAME_END',this[this.selectedIndex].value);\">";
for (var k = 0; k <FontName.length; k++) {
str+="<option value='"+FontName[k][0]+"'>"+FontName[k][1]+"</option>"
}
str+="</select>&nbsp;<select class='tben' id=\"FontSize\" onchange=\"javascript:DoExecute('FONTSIZE_END',this[this.selectedIndex].value);\"><option selected=\"selected\">字号</option><option value='10'>10px</option><option value='11'>11px</option><option value='12'>12px</option><option value='13'>13px</option><option value='14'>14px</option><option value='15'>15px</option><option value='16'>16px</option><option value='18'>18px</option><option value='20'>20px</option><option value='22'>22px</option><option value='24'>24px</option><option value='30'>30px</option><option value='36'>36px</option></select>";
}else{
str='<img id="'+ToolbarIcon[id][0]+'" src="'+imgPath+ToolbarIcon[id][1]+'" alt="'+ToolbarIcon[id][2]+'" title="'+ToolbarIcon[id][2]+'" align="absmiddle" style="border:0;cursor:pointer;height:20px;top:2px;padding:1px;';
str+='" onclick="javascript:DoExecute(\''+ ToolbarIcon[id][0] +'\');" '+'onmouseover="javascript:this.style.border=\'1px solid #335EA8\';this.style.padding=\'0\';" onmouseout="javascript:this.style.border=\'0\';this.style.border=\'0\';this.style.padding=\'1px\';" ';
str+='>';
}
}
}
}
return str;
}

function DisplayToolbar(){
var htmlData = '';
var IconIDs;
if (EditorType=='full') {
IconIDs="97|96|0|1|99|2|3|4|99|5|6|99|9|10|99|14|15|99|7|98|97|18|19|20|99|16|17|99|21|22|23|24|99|25|26|27|28|99|29|30|99|11|12|13|99|8|98";
}else{
IconIDs="97|96|16|17|99|18|19|20|99|2|3|4|99|0|1|99|9|10|99|8|7|99|11|12|98";
}
var Arrs = IconIDs.split("|");
for (var j = 0; j <Arrs.length; j++) {
htmlData+=showIcon(Arrs[j]);
}
return htmlData;
}

function FullHtml(documentObj,content){
var editHtmlData = '';
editHtmlData += '<html>\r\n<head>\r\n';
editHtmlData += '<link href="Inc/Editor.css" rel="stylesheet" type="text/css">\r\n</head>\r\n<body>\r\n';
editHtmlData += content;
editHtmlData += '\r\n</body>\r\n</html>\r\n';
documentObj.open();
documentObj.write(editHtmlData);
documentObj.close();
}

function HtmlToXhtml(str){
str = str.replace(/<br.*?>/gi,"<br />");
str = str.replace(/(<hr\s+[^>]*[^\/])(>)/gi,"$1 />");
str = str.replace(/(<img\s+[^>]*[^\/])(>)/gi,"$1 />");
str = str.replace(/(<\w+)(.*?>)/gi,function ($0,$1,$2) {return($1.toLowerCase()+$2);});
str = str.replace(/(<\/\w+>)/gi,function ($0,$1) {return($1.toLowerCase());});
return str;
}

function WxEditor(objName){
this.objName = objName;
this.hiddenName = objName;
this.editorType;
this.editorwidth;
this.editorheight;
this.imgPath;
this.init = function()
{
	if (this.editorType) EditorType = this.editorType.toLowerCase();
	if (this.editorwidth) width = this.editorwidth;
	if (this.editorheight) height = this.editorheight;
	if (this.imgPath) imgPath = this.imgPath;
	OBJ_NAME = this.objName;
	BROWSER = GetBrowser();
	if (BROWSER=="IE") {
	 IconTop=2;}
	else{
	 IconTop=0;}
	document.writeln("<style type=\"text/css\">.tben{font:9pt Tahoma;height:20px;position:relative;top:"+IconTop+"px;}");
	document.writeln(".TabOff{float:left;border-left: solid 1px #FFFFFF;border-right: solid 1px #999999;border-top: solid 1px #FFFFFF;border-bottom: solid 1px #999999;background-color: #EEEEEE;text-align:center;width:80px;margin-right:5px;cursor:pointer;}");
	document.writeln(".TabOn{float:left;border-left: solid 1px #999999;border-right: solid 1px #FFFFFF;border-top: solid 1px #999999;border-bottom: solid 1px #FFFFFF;background-color: #ddd;text-align:center;width:80px;margin-right:5px;cursor:pointer;}");
	document.writeln("</style>");
}
this.show = function()
{
	this.init();
	var widthStyle = 'width:' + width + ';';
	var widthArr = width.match(/(\d+)([px%]{1,2})/);
	var iframewidthStyle = 'width:' + (parseInt(widthArr[1]) - 2).toString(10) + widthArr[2] + ';';
	var heightStyle = 'height:' + height + ';';
	var heightArr = height.match(/(\d+)([px%]{1,2})/);
	var iframeheightStyle = 'height:' + (parseInt(heightArr[1]) - 3).toString(10) + heightArr[2] + ';';
	if (BROWSER == '') {
		var htmlData = '<div id="Edittextarea" style="' + widthStyle + heightStyle + '">' +
		'<textarea name="CodeForm" id="CodeForm" style="' + widthStyle + heightStyle + 
		'padding:0;margin:0;border:1px solid #ddd;font-size:12px;line-height:16px;font-family:Tahoma;background-color:#fff;">' + document.getElementsByName(this.hiddenName)[0].value + '</textarea></div>';
		document.open();
		document.write(htmlData);
		document.close();
		return;
	}
	var htmlData = '<div style="font-family:Tahoma;border:1px solid #ddd;">';
	htmlData += '<div style="'+widthStyle+';border:1px solid #ddd;">';
	htmlData += DisplayToolbar();
	htmlData += '</div><div id="WxEditorIframe" style="' + widthStyle + heightStyle + 
		'border:1px solid #ddd;border-top:0;">' +
		'<iframe name="WxEditorForm" id="WxEditorForm" frameborder="0" style="' + iframewidthStyle + iframeheightStyle + 
		'padding:0;margin:0;border:0;"></iframe></div>';
	if (EditorType == 'full') {
	htmlData += '<div style="'+widthStyle+';margin-top:1px;border:1px solid #ddd;clear:both;"><div id="DesignMode" class="TabOn" onclick="javascript:DoExecute(\'SOURCE\',\'DESIGN\');"><img src="'+imgPath+'Design.gif" align="absmiddle" /> Design</div><div id="CODEMode" class="TabOff" onclick="javascript:DoExecute(\'SOURCE\',\'CODE\');"><img src="'+imgPath+'CODE.gif" align="absmiddle" /> HTML</div></div>';
	}
	htmlData += '</div>';
	for (var i = 0; i < PopupMenuList.length; i++) {
		htmlData += PopupMenu(PopupMenuList[i]);
	}
	document.open();
	document.write(htmlData);
	document.close();
	if (BROWSER == 'IE') {
		EDITFORM_DOCUMENT = document.frames("WxEditorForm").document;
	}else{
		EDITFORM_DOCUMENT = document.getElementById('WxEditorForm').contentDocument;
	}
	DrawIframe('LINK');
	EDITFORM_DOCUMENT.designMode = 'On';
	FullHtml(EDITFORM_DOCUMENT,document.getElementsByName(eval(OBJ_NAME).hiddenName)[0].value);
	var el = EDITFORM_DOCUMENT.body;
	if (EDITFORM_DOCUMENT.addEventListener){
		EDITFORM_DOCUMENT.addEventListener('click',DisableMenu,false);
		EDITFORM_DOCUMENT.addEventListener('keypress', ctlent, true); 
	} else if (el.attachEvent){
		el.attachEvent('onclick',DisableMenu);
		el.attachEvent('onkeypress', ctlent);
	}
}
this.data = function()
{
	var htmlResult;
	if (BROWSER == '') {
	htmlResult = document.getElementById("CodeForm").value;
	}else{
	if (EDITMODE=="CODE"){
	htmlResult = EDITFORM_DOCUMENT.body.innerText;
	}else{
	htmlResult = EDITFORM_DOCUMENT.body.innerHTML;}
	}
	DisableMenu();
	htmlResult = HtmlToXhtml(htmlResult);
	htmlResult = ClearScriptTag(htmlResult);
	document.getElementsByName(this.hiddenName)[0].value = htmlResult;
	return htmlResult;
}
}

function ctlent(event){
var bool=event.ctrlKey && (event.keyCode==13 || event.keyCode==10);
if(bool&&EDITMODE!="DESIGN"){
 alert("当前模式为代码模式,请转换至设计模式后提交");
 return false;
}else if(bool){
parent.document.form.EditSubmit.click();
}
}

⌨️ 快捷键说明

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