📄 kindeditor.js
字号:
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 + -