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

📄 kindeditor.js

📁 基于浏览器的简单的所见即所得(WYSWYG)HTML编辑器
💻 JS
📖 第 1 页 / 共 5 页
字号:
		alert(MSG_INVALID_HSPACE);
		return false;
	}
	if (vspace.match(/^\d+$/) == null) {
		alert(MSG_INVALID_VSPACE);
		return false;
	}
	var fileName;
	KindEditorForm.focus();
	if (type == 1) {
		fileName = KindGetFileName(file, "\\");
		var fileExt = KindGetFileExt(fileName);
		var dateObj = new Date();
		var year = dateObj.getFullYear().toString(10);
		var month = (dateObj.getMonth() + 1).toString(10);
		month = month.length < 2 ? '0' + month : month;
		var day = dateObj.getDate().toString(10);
		day = day.length < 2 ? '0' + day : day;
		var ymd = year + month + day;
		fileName = ymd + dateObj.getTime().toString(10) + '.' + fileExt;
		IMAGE_DOCUMENT.getElementById('fileName').value = fileName;
	} else {
		KindInsertImage(url, width, height, border, title, align, hspace, vspace);
	}
}
function KindInsertImage(url, width, height, border, title, align, hspace, vspace)
{
	var element = document.createElement("img");
	element.src = url;
	if (width > 0) {
		element.style.width = width;
	}
	if (height > 0) {
		element.style.height = height;
	}
	if (align != "") {
		element.align = align;
	}
	if (hspace > 0) {
		element.hspace = hspace;
	}
	if (vspace > 0) {
		element.vspace = vspace;
	}
	element.border = border;
	element.alt = KindHtmlentities(title);
	KindSelect();
	KindInsertItem(element);
	KindDisableMenu();
	KindReloadIframe();
}
function KindGetFlashHtmlTag(url, width, height)
{
	var str = '<object type="application/x-shockwave-flash" data="'+url+'" ' + 
			'width="'+width+'" height="'+height+'" wmode="transparent">' + 
			'<param name="movie" value="'+url+'" />' + 
			'<param name="wmode" value="transparent"/>' + 
			'</object>';
	return str;
}
function KindFlashPreview()
{
	var url = FLASH_DOCUMENT.getElementById('flashLink').value;
	if (KindCheckFlashFileType(url, "/") == false) {
		return false;
	}
	var el = FLASH_DOCUMENT.getElementById('flashPreview');
	el.innerHTML = KindGetFlashHtmlTag(url, '230', '230');
}
function KindDrawFlashEnd()
{
	var url = FLASH_DOCUMENT.getElementById('flashLink').value;
	if (KindCheckFlashFileType(url, "/") == false) {
		return false;
	}
	KindEditorForm.focus();
	KindSelect();
	var imgObj = document.createElement("IMG");
	imgObj.id = 'flashpreviewimg';
	imgObj.src = IMAGE_PATH + 'flashpreview.gif';
	imgObj.style.width = '100';
	imgObj.style.height = '100';
	imgObj.border = '0';
	imgObj.alt = url;
	KindInsertItem(imgObj);
	KindDisableMenu();
}
function KindGetMediaHtmlTag(cmd, url, width, height, title)
{
	var temp = title.split('-');
	var autostart = temp[0];
	var controls = temp[1];
	var str;
	if (cmd == "KIND_REAL") {
		str = '<object type="audio/x-pn-realaudio-plugin" data="'+url+'" ' + 
			'width="'+width+'" height="'+height+'">' + 
			'<param name="SRC" value="'+url+'" />' + 
			'<param name="AUTOSTART" value="'+autostart+'" />' + 
			'<param name="CONTROLS" value="'+controls+'" />' + 
			'</object>';
	} else {
		str = '<object type="video/x-ms-asf-plugin" data="'+url+'" ' + 
			'width="'+width+'" height="'+height+'">' + 
			'<param name="FileName" value="'+url+'" />' + 
			'<param name="AutoStart" value="'+autostart+'" />' + 
			'<param name="EnableContextMenu" value="'+controls+'" />' + 
			'</object>';
	}
	return str;
}
function KindMediaPreview(cmd)
{
	var mediaDocument;
	if (cmd == 'KIND_REAL') {
		mediaDocument = REAL_DOCUMENT;
	} else {
		mediaDocument = MEDIA_DOCUMENT;
	}
	var url = mediaDocument.getElementById(cmd+'link').value;
	if (KindCheckMediaFileType(cmd, url, "/") == false) {
		return false;
	}
	var el = mediaDocument.getElementById(cmd+'preview');
	var title;
	if (cmd == "KIND_REAL") {
		title = '1-ControlPanel,StatusBar';
	} else {
		title = '1-0';
	}
	el.innerHTML = KindGetMediaHtmlTag(cmd, url, 230, 230, title);
}
function KindDrawMediaEnd(cmd)
{
	var mediaDocument;
	if (cmd == 'KIND_REAL') {
		mediaDocument = REAL_DOCUMENT;
	} else {
		mediaDocument = MEDIA_DOCUMENT;
	}
	var url = mediaDocument.getElementById(cmd+'link').value;
	if (KindCheckMediaFileType(cmd, url, "/") == false) {
		return false;
	}
	KindEditorForm.focus();
	KindSelect();
	var imgObj = document.createElement("IMG");
	if (cmd == 'KIND_REAL') {
		imgObj.id = 'realpreviewimg';
		imgObj.src = IMAGE_PATH + 'realpreview.gif';
	} else {
		imgObj.id = 'mediapreviewimg';
		imgObj.src = IMAGE_PATH + 'mediapreview.gif';
	}
	imgObj.style.width = '100px';
	imgObj.style.height = '100px';
	if (cmd == "KIND_REAL") {
		imgObj.title = '1-ControlPanel,StatusBar';
	} else {
		imgObj.title = '1-0';
	}
	imgObj.border = '0';
	imgObj.alt = url;
	KindInsertItem(imgObj);
	KindDisableMenu(cmd);
}
function KindDrawLinkEnd()
{
	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;
	}
	KindEditorForm.focus();
	KindSelect();
	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') {
			KindExecuteValue('CreateLink', url);
			element = RANGE.parentElement();
			if (target) {
				element.target = target;
			}
		}
	} else {
		KindExecuteValue('CreateLink', url);
		element = RANGE.startContainer.previousSibling;
		element.target = target;
		if (target) {
			element.target = target;
		}
    }
	KindDisableMenu();
}
function KindSelection()
{
	if (BROWSER == 'IE') {
		SELECTION = EDITFORM_DOCUMENT.selection;
		RANGE = SELECTION.createRange();
		RANGE_TEXT = RANGE.text;
	} else {
		SELECTION = document.getElementById("KindEditorForm").contentWindow.getSelection();
        RANGE = SELECTION.getRangeAt(0);
		RANGE_TEXT = RANGE.toString();
	}
}
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)
{
	EDITFORM_DOCUMENT.execCommand(cmd, false, value);
}
function KindSimpleExecute(cmd)
{
	KindEditorForm.focus();
	EDITFORM_DOCUMENT.execCommand(cmd, false, null);
	KindDisableMenu();
}
function KindExecute(cmd, value)
{
	switch (cmd)
	{
		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("KindCodeForm").value = KindImageToObj(KindHtmlToXhtml(EDITFORM_DOCUMENT.body.innerHTML));
				document.getElementById("KindEditorIframe").style.display = 'none';
				document.getElementById("KindEditTextarea").style.display = 'block';
				KindDisableToolbar(true);
			} else {
				EDITFORM_DOCUMENT.body.innerHTML = KindClearScriptTag(KindObjToImage(document.getElementById("KindCodeForm").value));
				document.getElementById("KindEditTextarea").style.display = 'none';
				document.getElementById("KindEditorIframe").style.display = 'block';
				KindDisableToolbar(false);
			}
			KindDisableMenu();
			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':

⌨️ 快捷键说明

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