📄 htmleditor.js
字号:
el.appendChild(HtmlGetMediaHtmlTag(url, '230', '230'));
}
function HtmlDrawMediaEnd()
{
var url = document.getElementById('mediaLink').value;
if (HtmlCheckMediaFileType(url, "/") == false) {
return false;
}
HtmlSelect();
HtmlInsertItem(HtmlGetMediaHtmlTag(url, '100', '100'));
HtmlClearTemp();
}
function HtmlDrawFlash()
{
var top = HtmlGetTop('Html_FLASH') + 32;
var left = HtmlGetLeft('Html_FLASH') + 1;
var str = '';
str +=''+
'<table cellpadding="0" cellspacing="0" style="width:250px;'+HtmlGetMenuCommonStyle(top, left)+'">' +
'<tr><td colspan="2"><table border="0"><tr><td id="flashPreview" style="width:240px;height:240px;border:1px solid #AAAAAA;background-color:#FFFFFF;" align="center" valign="middle"> </td></tr></table></td></tr>' +
'<tr><td style="width:50px;padding:5px;">'+STR_IMAGE_REMOTE+'</td>' +
'<td style="width:200px;padding-bottom:5px;"><input type="text" id="flashLink" value="http://" style="width:190px;border:1px solid #555555;" onchange="javascript:HtmlFlashPreview();"></td>' +
'<tr><td colspan="2" style="margin:5px;padding-bottom:5px;" align="center">' +
'<input type="button" name="button" value="'+STR_BUTTON_PREVIEW+'" onclick="javascript:HtmlFlashPreview();" style="border:1px solid #555555;"> ' +
'<input type="button" name="button" value="'+STR_BUTTON_CONFIRM+'" onclick="javascript:HtmlDrawFlashEnd();" style="border:1px solid #555555;"> ' +
'<input type="button" name="button" value="'+STR_BUTTON_CANCEL+'" onclick="javascript:HtmlClearTemp();" style="border:1px solid #555555;"></td></tr>' +
'</table>';
document.getElementById('popupData').innerHTML = str;
document.getElementById('popupName').innerHTML = 'Html_FLASH';
}
function HtmlGetFlashHtmlTag(url, width, height)
{
var element = document.createElement("embed");
element.src = url;
element.quality = "high";
element.type = "application/x-shockwave-flash";
element.width = width;
element.height = height;
return element;
}
function HtmlFlashPreview()
{
var url = document.getElementById('flashLink').value;
if (HtmlCheckFlashFileType(url, "/") == false) {
return false;
}
var el = document.getElementById('flashPreview');
if (el.hasChildNodes()) {
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, '100', '100'));
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_PRINT':
HtmlSimpleExecute('print');
break;
case 'Html_UNDO':
HtmlSimpleExecute('undo');
break;
case 'Html_REDO':
HtmlSimpleExecute('redo');
break;
case 'Html_CUT':
HtmlSimpleExecute('cut');
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 {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -