📄 htmleditor.js
字号:
el.removeChild(el.childNodes[0]);
}
el.appendChild(HtmlGetFlashHtmlTag(url, '230', '230'));
}
function HtmlDrawFlashEnd()
{
var url = document.getElementById('flashLink').value;
if (HtmlCheckFlashFileType(url, "/") == false) {
return false;
}
HtmlSelect();
HtmlInsertItem(HtmlGetFlashHtmlTag(url, '450', '350'));
HtmlClearTemp();
}
function HtmlSelection()
{
if (BROWSER == 'IE') {
SELECTION = EDITFORM_DOCUMENT.selection;
RANGE = SELECTION.createRange();
RANGE_TEXT = RANGE.text;
} else {
SELECTION = document.getElementById("EditForm").contentWindow.getSelection();
RANGE = SELECTION.getRangeAt(0);
RANGE_TEXT = RANGE.toString();
}
}
function HtmlSelect()
{
if (BROWSER == 'IE') {
RANGE.select();
}
}
function HtmlInsertItem(insertNode)
{
if (BROWSER == 'IE') {
RANGE.parentElement() ? RANGE.pasteHTML(insertNode.outerHTML) : RANGE.item(0).outerHTML = 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 HtmlExecuteValue(cmd, value)
{
if (BROWSER == 'IE') {
RANGE.execCommand(cmd, false, value);
} else {
EDITFORM_DOCUMENT.execCommand(cmd, false, value);
}
}
function HtmlSimpleExecute(cmd)
{
EDITFORM_DOCUMENT.execCommand(cmd, false, null);
HtmlClearTemp();
EditForm.focus();
}
function HtmlExecute(mode, value)
{
switch (mode)
{
case 'Html_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 = HtmlHtmlToXhtml(EDITFORM_DOCUMENT.body.innerHTML);
document.getElementById("editIframe").style.display = 'none';
document.getElementById("editTextarea").style.display = 'block';
HtmlDisableToolbar(true);
} else {
EDITFORM_DOCUMENT.body.innerHTML = document.getElementById("CodeForm").value;
document.getElementById("editTextarea").style.display = 'none';
document.getElementById("editIframe").style.display = 'block';
HtmlDisableToolbar(false);
}
HtmlClearTemp();
break;
case 'Html_COPY':
HtmlSimpleExecute('copy');
break;
case 'Html_PASTE':
HtmlSimpleExecute('paste');
break;
case 'Html_SELECTALL':
HtmlSimpleExecute('selectall');
break;
case 'Html_SUBSCRIPT':
HtmlSimpleExecute('subscript');
break;
case 'Html_SUPERSCRIPT':
HtmlSimpleExecute('superscript');
break;
case 'Html_BOLD':
HtmlSimpleExecute('bold');
break;
case 'Html_ITALIC':
HtmlSimpleExecute('italic');
break;
case 'Html_UNDERLINE':
HtmlSimpleExecute('underline');
break;
case 'Html_STRIKE':
HtmlSimpleExecute('strikethrough');
break;
case 'Html_JUSTIFYLEFT':
HtmlSimpleExecute('justifyleft');
break;
case 'Html_JUSTIFYCENTER':
HtmlSimpleExecute('justifycenter');
break;
case 'Html_JUSTIFYRIGHT':
HtmlSimpleExecute('justifyright');
break;
case 'Html_JUSTIFYFULL':
HtmlSimpleExecute('justifyfull');
break;
case 'Html_NUMBEREDLIST':
HtmlSimpleExecute('insertorderedlist');
break;
case 'Html_UNORDERLIST':
HtmlSimpleExecute('insertunorderedlist');
break;
case 'Html_INDENT':
HtmlSimpleExecute('indent');
break;
case 'Html_OUTDENT':
HtmlSimpleExecute('outdent');
break;
case 'Html_REMOVE':
HtmlSimpleExecute('removeformat');
break;
case 'Html_ZOOM':
EditForm.focus();
if (document.getElementById('popupName').innerHTML == mode) {
HtmlClearTemp();
} else {
HtmlDrawZoom();
}
break;
case 'Html_ZOOM_END':
EditForm.focus();
EDITFORM_DOCUMENT.body.style.zoom = value;
HtmlClearTemp();
break;
case 'Html_TITLE':
EditForm.focus();
HtmlSelection();
if (document.getElementById('popupName').innerHTML == mode) {
HtmlClearTemp();
} else {
HtmlDrawTitle();
}
break;
case 'Html_TITLE_END':
EditForm.focus();
value = '<' + value + '>';
HtmlSelect();
HtmlExecuteValue('FormatBlock', value);
HtmlClearTemp();
break;
case 'Html_FONTNAME':
EditForm.focus();
HtmlSelection();
if (HtmlCheckSelected() == false) {
return false;
}
if (document.getElementById('popupName').innerHTML == mode) {
HtmlClearTemp();
} else {
HtmlDrawFontname();
}
break;
case 'Html_FONTNAME_END':
EditForm.focus();
HtmlSelect();
HtmlExecuteValue('fontname', value);
HtmlClearTemp();
break;
case 'Html_FONTSIZE':
EditForm.focus();
HtmlSelection();
if (HtmlCheckSelected() == false) {
return false;
}
if (document.getElementById('popupName').innerHTML == mode) {
HtmlClearTemp();
} else {
HtmlDrawFontsize();
}
break;
case 'Html_FONTSIZE_END':
EditForm.focus();
value = value.substr(0, 1);
HtmlSelect();
HtmlExecuteValue('fontsize', value);
HtmlClearTemp();
break;
case 'Html_TEXTCOLOR':
EditForm.focus();
HtmlSelection();
if (HtmlCheckSelected() == false) {
return false;
}
if (document.getElementById('popupName').innerHTML == mode) {
HtmlClearTemp();
} else {
HtmlDrawColorTable('Html_TEXTCOLOR');
}
break;
case 'Html_TEXTCOLOR_END':
EditForm.focus();
HtmlSelect();
HtmlExecuteValue('ForeColor', value);
HtmlClearTemp();
break;
case 'Html_BGCOLOR':
EditForm.focus();
HtmlSelection();
if (HtmlCheckSelected() == false) {
return false;
}
if (document.getElementById('popupName').innerHTML == mode) {
HtmlClearTemp();
} else {
HtmlDrawColorTable('Html_BGCOLOR');
}
break;
case 'Html_BGCOLOR_END':
EditForm.focus();
if (BROWSER == 'IE') {
HtmlSelect();
HtmlExecuteValue('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);
}
}
HtmlClearTemp();
break;
case 'Html_LINK':
EditForm.focus();
HtmlSelection();
if (document.getElementById('popupName').innerHTML == mode) {
HtmlClearTemp();
} else {
HtmlDrawLink();
}
break;
case 'Html_UNLINK':
HtmlSimpleExecute('unlink');
break;
case 'Html_ICON':
EditForm.focus();
if (document.getElementById('popupName').innerHTML == mode) {
HtmlClearTemp();
} else {
HtmlDrawIcon();
}
break;
case 'Html_ICON_END':
EditForm.focus();
EDITFORM_DOCUMENT.execCommand('InsertImage', false, value);
HtmlClearTemp();
break;
case 'Html_IMAGE':
EditForm.focus();
HtmlSelection();
if (document.getElementById('popupName').innerHTML == mode) {
HtmlClearTemp();
} else {
HtmlDrawImage();
}
break;
case 'Html_MEDIA':
EditForm.focus();
HtmlSelection();
if (document.getElementById('popupName').innerHTML == mode) {
HtmlClearTemp();
} else {
HtmlDrawMedia();
}
break;
case 'Html_FLASH':
EditForm.focus();
HtmlSelection();
if (document.getElementById('popupName').innerHTML == mode) {
HtmlClearTemp();
} else {
HtmlDrawFlash();
}
break;
case 'Html_SPECIALCHAR':
EditForm.focus();
HtmlSelection();
if (document.getElementById('popupName').innerHTML == mode) {
HtmlClearTemp();
} else {
HtmlDrawSpecialchar();
}
break;
case 'Html_SPECIALCHAR_END':
EditForm.focus();
HtmlSelect();
var element = document.createElement("span");
element.appendChild(document.createTextNode(value));
HtmlInsertItem(element);
HtmlClearTemp();
break;
case 'Html_LAYER':
EditForm.focus();
HtmlSelection();
if (document.getElementById('popupName').innerHTML == mode) {
HtmlClearTemp();
} else {
HtmlDrawColorTable('Html_LAYER');
}
break;
case 'Html_LAYER_END':
EditForm.focus();
var element = document.createElement("div");
element.style.width = "100px";
element.style.height = "100px";
element.style.padding = "5px";
element.style.border = "1px solid #AAAAAA";
element.style.backgroundColor = value;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -