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

📄 editor.js

📁 本程序修改自飞天BBS 7.0 将原来的ASP语法迁移为ASP.NET并封装成DLL ASP.NET相对ASP有更快的执行效率以及更高的并发访问量 基于ASP.NET的DLL可以运行在支持ASP
💻 JS
📖 第 1 页 / 共 5 页
字号:
	var h = mediaDocument.getElementById(cmd+'h').value;
	var auto = mediaDocument.getElementById(cmd+'auto').value;
	if (auto==0){
	autocode='false';
	}else if (auto==1){
	autocode='true';
	}
	if (FtCheckMediaFileType(cmd,url,"/",media) == false) {
		return false;
	}
	if (w.match(/^\d+$/) == null) {
		alert(MSG_INVALID_WIDTH);
		return false;
	}
	if (h.match(/^\d+$/) == null) {
		alert(MSG_INVALID_HEIGHT);
		return false;
	}
	if (media == 'rm') {
	    str = '[rm='+w+','+h+','+autocode+']'+url+'[/rm]';
	}else if (media=='wmv'){
	    str = '[mp='+w+','+h+','+autocode+']'+url+'[/mp]';
	}else if (media=='flv'){
	    str = '[flv='+w+','+h+','+autocode+']'+url+'[/flv]';
	}
	if (CurrentMode=='design'){
	    FtEditorForm.focus();
	    FtSelect();
	    var element = document.createElement("span");
	    element.appendChild(document.createTextNode(str));
	    FtInsertItem(element);
	}else{
	    FtReTurnSelection();
	    FtInsertarea(str);
	}
	FtDisableMenu();	
}
//插入链接
function FtDrawLinkEnd()
{
  var range;
  var url = LINK_DOCUMENT.getElementById('hyperLink').value;
  var target = LINK_DOCUMENT.getElementById('hyperLinkTarget').value;
  if (url.match(/http:\/\/.{3,}/) == null) {
	 alert(MSG_INPUT_URL);
	 return false;
  }
  if (CurrentMode=='design'){
	FtEditorForm.focus();
	FtSelect();
	var element;
    if (BROWSER == 'IE') {
		if (SELECTION.type.toLowerCase() == 'control') {
			var el = document.createElement("a");
			el.href = url;
			if (target) {
				el.target = target;
			}
			RANGE.item(0).applyElement(el);
		} else if (SELECTION.type.toLowerCase() == 'text') {
			FtExecuteValue('CreateLink', url);
			element = RANGE.parentElement();
			if (target) {
				element.target = target;
			}
		}
	} else {
		FtExecuteValue('CreateLink', url);
		element = RANGE.startContainer.previousSibling;
		element.target = target;
		if (target) {
			element.target = target;
		}
    }
  }else{
		var Text = FtReTurnSelection();
        str = '[URL='+url+']'+Text+'[/URL]';
	    FtInsertarea(str);
  }
  FtDisableMenu();
}
//选择编辑器中的内容
function FtSelection()
{
	if (BROWSER == 'IE') {
	    document.frames("FtEditorForm").focus();
		SELECTION = EDITFORM_DOCUMENT.selection;
		RANGE = SELECTION.createRange();
		RANGE_TEXT = RANGE.text;
	} else {
	    document.getElementById("FtEditorForm").contentWindow.focus();
		SELECTION = document.getElementById("FtEditorForm").contentWindow.getSelection();
        RANGE = SELECTION.getRangeAt(0);
		RANGE_TEXT = RANGE.toString();
	}
}
function FtSelect()
{
	if (BROWSER == 'IE') {
		RANGE.select();
	}
}
//往编辑器中插入代码
function FtInsertItem(insertNode)
{
	if (BROWSER == 'IE') {
		if (SELECTION.type.toLowerCase() == 'control') {
			RANGE.item(0).outerHTML = insertNode.outerHTML;
		} else {
			RANGE.pasteHTML(insertNode.outerHTML);
		}
	} else {
        SELECTION.removeAllRanges();
		RANGE.deleteContents();
        var startRangeNode = RANGE.startContainer;
        var startRangeOffset = RANGE.startOffset;
        var newRange = document.createRange();
		if (startRangeNode.nodeType == 3 && insertNode.nodeType == 3) {
            startRangeNode.insertData(startRangeOffset, insertNode.nodeValue);
            newRange.setEnd(startRangeNode, startRangeOffset + insertNode.length);
            newRange.setStart(startRangeNode, startRangeOffset + insertNode.length);
        } else {
            var afterNode;
            if (startRangeNode.nodeType == 3) {
                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(insertNode, afterNode);
                startRangeNode.insertBefore(beforeNode, insertNode);
                startRangeNode.removeChild(textNode);
            } else {
				if (startRangeNode.tagName.toLowerCase() == 'html') {
					startRangeNode = startRangeNode.childNodes[0].nextSibling;
					afterNode = startRangeNode.childNodes[0];
				} else {
					afterNode = startRangeNode.childNodes[startRangeOffset];
				}
				startRangeNode.insertBefore(insertNode, afterNode);
            }
            newRange.setEnd(afterNode, 0);
            newRange.setStart(afterNode, 0);
        }
        SELECTION.addRange(newRange);
	}
}
function FtExecuteValue(cmd, value)
{
	EDITFORM_DOCUMENT.execCommand(cmd, false, value);
}
function FtSimpleExecute(cmd)
{
	FtEditorForm.focus();
	EDITFORM_DOCUMENT.execCommand(cmd, false, null);
	FtDisableMenu();
}
function FtExecute(cmd, value)
{
	switch (cmd)
	{
		case 'Ft_SOURCE':
				document.getElementById("FtCodeForm").value = htmltoubb(EDITFORM_DOCUMENT.body.innerHTML);
				document.getElementById("FtEditorIframe").style.display = 'none';
				document.getElementById("FtEditTextarea").style.display = 'block';
				FtDisableToolbar(false);
				document.getElementById("CurrentMode").value='code';
				document.getElementById("FtCodeForm").focus();
				eval("window.CurrentMode = new Object();"); 
				CurrentMode='code';
			FtDisableMenu();
			FtReloadIframe();
			break;
		case 'Ft_DESIGN':
			    //document.getElementById("FtCodeForm").value = FtHtmlToXhtml(EDITFORM_DOCUMENT.body.innerHTML);
				EDITFORM_DOCUMENT.body.innerHTML = ubbtohtml(document.getElementById("FtCodeForm").value);//加入ubb转换为html代码
				document.getElementById("FtEditTextarea").style.display = 'none';
				document.getElementById("FtEditorIframe").style.display = 'block';
				FtDisableToolbar(true);
				document.getElementById("CurrentMode").value='design';
				eval("window.CurrentMode = new Object();"); 
				CurrentMode='design';
			FtDisableMenu();
			FtReloadIframe();
			break;
		case 'Ft_UNDO':
			FtSimpleExecute('undo');
			break;
		case 'Ft_REDO':
			FtSimpleExecute('redo');
			break;
		case 'Ft_CUT':
			FtSimpleExecute('cut');
			break;
		case 'Ft_COPY':
			FtSimpleExecute('copy');
			break;
		case 'Ft_PASTE':
			FtSimpleExecute('paste');
			break;
		case 'Ft_SELECTALL':
			FtSimpleExecute('selectall');
			break;
		case 'Ft_SUBSCRIPT':
			FtSimpleExecute('subscript');
			break;
		case 'Ft_SUPERSCRIPT':
			FtSimpleExecute('superscript');
			break;
		case 'Ft_BOLD':
			FtSimpleExecute('bold');
			break;
		case 'Ft_ITALIC':
			FtSimpleExecute('italic');
			break;
		case 'Ft_UNDERLINE':
			FtSimpleExecute('underline');
			break;
		case 'Ft_STRIKE':
			FtSimpleExecute('strikethrough');
			break;
		case 'Ft_JUSTIFYLEFT':
			FtSimpleExecute('justifyleft');
			break;
		case 'Ft_JUSTIFYCENTER':
			FtSimpleExecute('justifycenter');
			break;
		case 'Ft_JUSTIFYRIGHT':
			FtSimpleExecute('justifyright');
			break;
		case 'Ft_JUSTIFYFULL':
			FtSimpleExecute('justifyfull');
			break;
		case 'Ft_NUMBEREDLIST':
			FtSimpleExecute('insertorderedlist');
			break;
		case 'Ft_UNORDERLIST':
			FtSimpleExecute('insertunorderedlist');
			break;
		case 'Ft_INDENT':
			FtSimpleExecute('indent');
			break;
		case 'Ft_OUTDENT':
			FtSimpleExecute('outdent');
			break;
		case 'Ft_REMOVE':
			FtSimpleExecute('removeformat');
			break;
		case 'Ft_TITLE':
			FtDisplayMenu(cmd);
			break;
		case 'Ft_TITLE_END':
			FtEditorForm.focus();
			value = '<' + value + '>';
			FtSelect();
			FtExecuteValue('FormatBlock', value);
			FtDisableMenu();
			break;
		case 'Ft_FONTNAME':
			FtDisplayMenu(cmd);
			break;
		case 'Ft_FONTNAME_END':
			FtEditorForm.focus();
			FtSelect();
			FtExecuteValue('fontname', value);
			FtDisableMenu();
			break;
		case 'Ft_FONTSIZE':
			FtDisplayMenu(cmd);
			break;
		case 'Ft_FONTSIZE_END':
			FtEditorForm.focus();
			value = value.substr(0, 1);
			FtSelect();
			FtExecuteValue('fontsize', value);
			FtDisableMenu();
			break;
		case 'Ft_TEXTCOLOR':
			FtDisplayMenu(cmd);
			break;
		case 'Ft_TEXTCOLOR_END':
			FtEditorForm.focus();
			FtSelect();
			FtExecuteValue('ForeColor', value);
			FtDisableMenu();
			break;
		case 'Ft_BGCOLOR':
			FtDisplayMenu(cmd);
			break;
		case 'Ft_BGCOLOR_END':
			FtEditorForm.focus();
			if (BROWSER == 'IE') {
				FtSelect();
				FtExecuteValue('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);
				}
			}
			FtDisableMenu();
			break;
		case 'Ft_ICON':
			FtDisplayMenu(cmd);
			break;
		case 'Ft_ICON_END':
			FtEditorForm.focus();
			var element = document.createElement("img");
			element.src = value;
			element.border = 0;
			element.alt = "";
			FtSelect();
			FtInsertItem(element);
			FtDisableMenu();
			break;
		case 'Ft_IMAGE':
			FtDisplayMenu(cmd);
			FtImageIframe.focus();
			IMAGE_DOCUMENT.getElementById(cmd+'submitButton').focus();
			break;
		case 'Ft_FLASH':
			FtDisplayMenu(cmd);
			FtFlashIframe.focus();
			FLASH_DOCUMENT.getElementById(cmd+'submitButton').focus();
			break;
		case 'Ft_MEDIA':
			FtDisplayMenu(cmd);

⌨️ 快捷键说明

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