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

📄 kindeditor.js

📁 一个java的成熟的论坛模式
💻 JS
📖 第 1 页 / 共 5 页
字号:
function KindSelect()
{
	if (BROWSER == 'IE') {
		RANGE.select();
	}
}
function KindInsertItem(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 KindExecuteValue(cmd, value)
{
	if (BROWSER == 'IE') {
		RANGE.execCommand(cmd, false, value);
	} else {
		EDITFORM_DOCUMENT.execCommand(cmd, false, value);
	}
}
function KindSimpleExecute(cmd)
{
	EDITFORM_DOCUMENT.execCommand(cmd, false, null);
	KindClearTemp();
	EditForm.focus();
}
function KindExecute(mode, value)
{
	switch (mode)
	{
		case 'KIND_SOURCE':
			var length = document.getElementById(TOP_TOOLBAR_ICON[0][0]).src.length - 10;
			var image = document.getElementById(TOP_TOOLBAR_ICON[0][0]).src.substr(length,10);
			if (image == 'source.gif') {
				document.getElementById("CodeForm").value = KindHtmlToXhtml(EDITFORM_DOCUMENT.body.innerHTML);
				document.getElementById("editIframe").style.display = 'none';
				document.getElementById("editTextarea").style.display = 'block';
				KindDisableToolbar(true);
			} else {
				EDITFORM_DOCUMENT.body.innerHTML = KindObjToImage(document.getElementById("CodeForm").value);
				document.getElementById("editTextarea").style.display = 'none';
				document.getElementById("editIframe").style.display = 'block';
				KindDisableToolbar(false);
			}
			KindClearTemp();
			break;
		case 'KIND_PRINT':
			KindSimpleExecute('print');
			break;
		case 'KIND_UNDO':
			KindSimpleExecute('undo');
			break;
		case 'KIND_REDO':
			KindSimpleExecute('redo');
			break;
		case 'KIND_CUT':
			KindSimpleExecute('cut');
			break;
		case 'KIND_COPY':
			KindSimpleExecute('copy');
			break;
		case 'KIND_PASTE':
			KindSimpleExecute('paste');
			break;
		case 'KIND_SELECTALL':
			KindSimpleExecute('selectall');
			break;
		case 'KIND_SUBSCRIPT':
			KindSimpleExecute('subscript');
			break;
		case 'KIND_SUPERSCRIPT':
			KindSimpleExecute('superscript');
			break;
		case 'KIND_BOLD':
			KindSimpleExecute('bold');
			break;
		case 'KIND_ITALIC':
			KindSimpleExecute('italic');
			break;
		case 'KIND_UNDERLINE':
			KindSimpleExecute('underline');
			break;
		case 'KIND_STRIKE':
			KindSimpleExecute('strikethrough');
			break;
		case 'KIND_JUSTIFYLEFT':
			KindSimpleExecute('justifyleft');
			break;
		case 'KIND_JUSTIFYCENTER':
			KindSimpleExecute('justifycenter');
			break;
		case 'KIND_JUSTIFYRIGHT':
			KindSimpleExecute('justifyright');
			break;
		case 'KIND_JUSTIFYFULL':
			KindSimpleExecute('justifyfull');
			break;
		case 'KIND_NUMBEREDLIST':
			KindSimpleExecute('insertorderedlist');
			break;
		case 'KIND_UNORDERLIST':
			KindSimpleExecute('insertunorderedlist');
			break;
		case 'KIND_INDENT':
			KindSimpleExecute('indent');
			break;
		case 'KIND_OUTDENT':
			KindSimpleExecute('outdent');
			break;
		case 'KIND_REMOVE':
			KindSimpleExecute('removeformat');
			break;
		case 'KIND_ZOOM':
			EditForm.focus();
			if (document.getElementById('popupName').innerHTML == mode) {
				KindClearTemp();
			} else {
				KindDrawZoom();
			}
			break;
		case 'KIND_ZOOM_END':
			EditForm.focus();
			EDITFORM_DOCUMENT.body.style.zoom = value;
			KindClearTemp();
			break;
		case 'KIND_TITLE':
			EditForm.focus();
			KindSelection();
			if (document.getElementById('popupName').innerHTML == mode) {
				KindClearTemp();
			} else {
				KindDrawTitle();
			}
			break;
		case 'KIND_TITLE_END':
			EditForm.focus();
			value = '<' + value + '>';
			KindSelect();
			KindExecuteValue('FormatBlock', value);
			KindClearTemp();
			break;
		case 'KIND_FONTNAME':
			EditForm.focus();
			KindSelection();
			if (document.getElementById('popupName').innerHTML == mode) {
				KindClearTemp();
			} else {
				KindDrawFontname();
			}
			break;
		case 'KIND_FONTNAME_END':
			EditForm.focus();
			KindSelect();
			KindExecuteValue('fontname', value);
			KindClearTemp();
			break;
		case 'KIND_FONTSIZE':
			EditForm.focus();
			KindSelection();
			if (document.getElementById('popupName').innerHTML == mode) {
				KindClearTemp();
			} else {
				KindDrawFontsize();
			}
			break;
		case 'KIND_FONTSIZE_END':
			EditForm.focus();
			value = value.substr(0, 1);
			KindSelect();
			KindExecuteValue('fontsize', value);
			KindClearTemp();
			break;
		case 'KIND_TEXTCOLOR':
			EditForm.focus();
			KindSelection();
			if (document.getElementById('popupName').innerHTML == mode) {
				KindClearTemp();
			} else {
				KindDrawColorTable('KIND_TEXTCOLOR');
			}
			break;
		case 'KIND_TEXTCOLOR_END':
			EditForm.focus();
			KindSelect();
			KindExecuteValue('ForeColor', value);
			KindClearTemp();
			break;
		case 'KIND_BGCOLOR':
			EditForm.focus();
			KindSelection();
			if (document.getElementById('popupName').innerHTML == mode) {
				KindClearTemp();
			} else {
				KindDrawColorTable('KIND_BGCOLOR');
			}
			break;
		case 'KIND_BGCOLOR_END':
			EditForm.focus();
			if (BROWSER == 'IE') {
				KindSelect();
				KindExecuteValue('BackColor', value);
			} else {
				var startRangeNode = RANGE.startContainer;
				if (RANGE.toString() != '' && 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);
				}
			}
			KindClearTemp();
			break;
		case 'KIND_LINK':
			EditForm.focus();
			KindSelection();
			if (document.getElementById('popupName').innerHTML == mode) {
				KindClearTemp();
			} else {
				KindDrawLink();
			}
			break;
		case 'KIND_UNLINK':
			KindSimpleExecute('unlink');
			break;
		case 'KIND_ICON':
			EditForm.focus();
			KindSelection();
			if (document.getElementById('popupName').innerHTML == mode) {
				KindClearTemp();
			} else {
				KindDrawIcon();
			}
			break;
		case 'KIND_ICON_END':
			EditForm.focus();
			var element = document.createElement("img");
			element.src = value;
			element.border = 0;
			element.alt = "ICON";
			KindSelect();
			KindInsertItem(element);
			KindClearTemp();
			break;
		case 'KIND_IMAGE':
			EditForm.focus();
			KindSelection();
			if (document.getElementById('popupName').innerHTML == mode) {
				KindClearTemp();
			} else {
				KindDrawImage();
			}
			break;
		case 'KIND_MEDIA':
			EditForm.focus();
			KindSelection();
			if (document.getElementById('popupName').innerHTML == mode) {
				KindClearTemp();
			} else {
				KindDrawMedia();
			}
			break;
		case 'KIND_FLASH':
			EditForm.focus();
			KindSelection();
			if (document.getElementById('popupName').innerHTML == mode) {
				KindClearTemp();
			} else {

⌨️ 快捷键说明

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