📄 editor.js
字号:
var str = '';
str += '<div id="POPUP_'+cmd+'" style="width:250px;'+FtGetMenuCommonStyle()+'">';
str += '<iframe name="FtMediaIframe" id="FtMediaIframe" frameborder="0" style="width:250px;height:130px;padding:0;margin:0;border:0;">';
str += '</iframe></div>';
return str;
break;
case 'Ft_LINK':
var str = '';
str += '<div id="POPUP_'+cmd+'" style="width:250px;'+FtGetMenuCommonStyle()+'">';
str += '<iframe name="FtLinkIframe" id="FtLinkIframe" frameborder="0" style="width:250px;height:85px;padding:0;margin:0;border:0;">';
str += '</iframe></div>';
return str;
break;
default:
break;
}
}
function FtDrawIframe(cmd)
{
if (BROWSER == 'IE') {
IMAGE_DOCUMENT = document.frames("FtImageIframe").document;
FLASH_DOCUMENT = document.frames("FtFlashIframe").document;
MEDIA_DOCUMENT = document.frames("FtMediaIframe").document;
LINK_DOCUMENT = document.frames("FtLinkIframe").document;
} else {
IMAGE_DOCUMENT = document.getElementById('FtImageIframe').contentDocument;
FLASH_DOCUMENT = document.getElementById('FtFlashIframe').contentDocument;
MEDIA_DOCUMENT = document.getElementById('FtMediaIframe').contentDocument;
LINK_DOCUMENT = document.getElementById('FtLinkIframe').contentDocument;
}
switch (cmd)
{
case 'Ft_IMAGE':
var str = '';
str += '<div align="left">' +
'<form name="uploadForm" style="margin:0;padding:0;" method="post" enctype="multipart/form-data" ' +
'action="' + IMAGE_UPLOAD_CGI + '" onsubmit="javascript:if(parent.FtDrawImageEnd()==false){return false;};">' +
'<input type="hidden" name="fileName" id="fileName" value="" />' +
'<table cellpadding="0" cellspacing="0" style="width:100%;font-size:12px;">' +
'<tr><td colspan="2"><table border="0" style="margin-bottom:3px;"><tr><td id="imgPreview" style="width:240px;height:120px;border:1px solid #CAD9EA;background-color:#FFFFFF;" align="center" valign="middle"> </td></tr></table></td></tr>' +
'<tr><td style="width:50px;padding-left:5px;">';
str += STR_IMAGE_REMOTE;
str += '</td><td style="width:200px;padding-bottom:3px;">';
str += '<input type="text" id="imgLink" value="http://" maxlength="255" style="width:95%;border:1px solid #CAD9EA;" />' +
'<input type="hidden" name="imageType" id="imageType" value="2"><input type="hidden" name="fileData" id="imgFile" value="" />';
str += '</td></tr><tr><td colspan="2" style="padding-bottom:3px;">' +
'<table border="0" style="width:100%;font-size:12px;"><tr>' +
'<td width="18%" style="padding:2px 2px 2px 5px;">'+STR_TITLE+'</td><td width="82%"><input type="text" name="imgTitle" id="imgTitle" value="" maxlength="100" style="width:95%;border:1px solid #CAD9EA;" /></td></tr></table>' +
'<table border="0" style="width:100%;font-size:12px;"><tr>' +
'<td width="10%" style="padding:2px 2px 2px 5px;">'+STR_WIDTH+'</td><td width="23%"><input type="text" name="imgWidth" id="imgWidth" value="0" maxlength="4" style="width:40px;border:1px solid #CAD9EA;" /></td>' +
'<td width="10%" style="padding:2px;">'+STR_HEIGHT+'</td><td width="23%"><input type="text" name="imgHeight" id="imgHeight" value="0" maxlength="4" style="width:40px;border:1px solid #CAD9EA;" /></td>' +
'<td width="10%" style="padding:2px;">'+STR_BORDER+'</td><td width="23%"><input type="text" name="imgBorder" id="imgBorder" value="0" maxlength="1" style="width:20px;border:1px solid #CAD9EA;" /></td></tr></table>' +
'<table border="0" style="width:100%;font-size:12px;"><tr>' +
'<td width="39%" style="padding:2px 2px 2px 5px;"><select id="imgAlign" name="imgAlign"><option value="">'+STR_ALIGN+'</option>';
for (var i = 0; i < IMAGE_ALIGN_TABLE.length; i++) {
str += '<option value="' + IMAGE_ALIGN_TABLE[i] + '">' + IMAGE_ALIGN_TABLE[i] + '</option>';
}
str += '</select></td>' +
'<td width="15%" style="padding:2px;">'+STR_HSPACE+'</td><td width="15%"><input type="text" name="imgHspace" id="imgHspace" value="0" maxlength="1" style="width:20px;border:1px solid #CAD9EA;" /></td>' +
'<td width="15%" style="padding:2px;">'+STR_VSPACE+'</td><td width="15%"><input type="text" name="imgVspace" id="imgVspace" value="0" maxlength="1" style="width:20px;border:1px solid #CAD9EA;" /></td></tr></table>' +
'</td></tr><tr><td colspan="2" style="margin:5px;padding-bottom:5px;" align="center">' +
'<input type="button" name="button" value="'+STR_BUTTON_PREVIEW+'" onclick="javascript:parent.FtImagePreview();" style="border:1px solid #CAD9EA;background-color:'+BUTTON_COLOR+';" /> ' +
'<input type="submit" name="button" id="'+cmd+'submitButton" value="'+STR_BUTTON_CONFIRM+'" style="border:1px solid #CAD9EA;background-color:'+BUTTON_COLOR+';" /> ' +
'<input type="button" name="button" value="'+STR_BUTTON_CANCEL+'" onclick="javascript:parent.FtDisableMenu();" style="border:1px solid #CAD9EA;background-color:'+BUTTON_COLOR+';" /></td></tr>' +
'</table></form></div>';
FtWriteFullHtml(IMAGE_DOCUMENT, str);
IMAGE_DOCUMENT.body.style.color = MENU_TEXT_COLOR;
IMAGE_DOCUMENT.body.style.backgroundColor = MENU_BG_COLOR;
IMAGE_DOCUMENT.body.style.margin = 0;
IMAGE_DOCUMENT.body.scroll = 'no';
break;
case 'Ft_FLASH':
var str = '';
str += '<table cellpadding="0" cellspacing="0" style="width:100%;">' +
'<tr><td style="padding:8px;">地址 <input type="text" id="flashLink" value="http://" style="width:195px;border:1px solid #CAD9EA;" /></td></tr>' +
'<tr><td style="padding-left:8px;padding-bottom:8px;">宽度 <input name="w" type="text" id="w" size="8" style="border:1px solid #CAD9EA;" /> 高度 <input name="h" type="text" id="h" size="8" style="border:1px solid #CAD9EA;"/></td></tr>' +
'<tr><td colspan="2" align="center">' +
'<input type="submit" name="button" id="'+cmd+'submitButton" value="'+STR_BUTTON_CONFIRM+'" onclick="javascript:parent.FtDrawFlashEnd();" style="border:1px solid #CAD9EA;background-color:'+BUTTON_COLOR+';" /> ' +
'<input type="button" name="button" value="'+STR_BUTTON_CANCEL+'" onclick="javascript:parent.FtDisableMenu();" style="border:1px solid #CAD9EA;background-color:'+BUTTON_COLOR+';" /></td></tr>' +
'</table>';
FtWriteFullHtml(FLASH_DOCUMENT, str);
FLASH_DOCUMENT.body.style.color = MENU_TEXT_COLOR;
FLASH_DOCUMENT.body.style.backgroundColor = MENU_BG_COLOR;
FLASH_DOCUMENT.body.style.margin = 0;
FLASH_DOCUMENT.body.scroll = 'no';
break;
case 'Ft_MEDIA':
var str = '';
str += FtDrawMedia(cmd);
FtWriteFullHtml(MEDIA_DOCUMENT, str);
MEDIA_DOCUMENT.body.style.color = MENU_TEXT_COLOR;
MEDIA_DOCUMENT.body.style.backgroundColor = MENU_BG_COLOR;
MEDIA_DOCUMENT.body.style.margin = 0;
MEDIA_DOCUMENT.body.scroll = 'no';
break;
case 'Ft_LINK':
var str = '';
var blankcss='';
if (CurrentMode == "code"){
blankcss='style="display:none;"';
}
str += '<table cellpadding="0" cellspacing="0" style="width:100%">' +
'<tr><td style="width:50px;padding:5px;">URL</td>' +
'<td style="width:200px;padding-top:5px;padding-bottom:5px;"><input type="text" id="hyperLink" value="http://" style="width:190px;border:1px solid #CAD9EA;background-color:#FFFFFF;"></td>' +
'<tr '+blankcss+'><td style="padding:5px;">'+STR_LINK_TARGET+'</td>' +
'<td style="padding-bottom:5px;"><select id="hyperLinkTarget"><option value="_blank" selected="selected">'+STR_LINK_BLANK+'</option><option value="">'+STR_LINK_NOBLANK+'</option></select></td></tr>' +
'<tr><td colspan="2" style="padding-bottom:5px;" align="center">' +
'<input type="submit" name="button" id="'+cmd+'submitButton" value="'+STR_BUTTON_CONFIRM+'" onclick="javascript:parent.FtDrawLinkEnd();" style="border:1px solid #CAD9EA;background-color:'+BUTTON_COLOR+';" /> ' +
'<input type="button" name="button" value="'+STR_BUTTON_CANCEL+'" onclick="javascript:parent.FtDisableMenu();" style="border:1px solid #CAD9EA;background-color:'+BUTTON_COLOR+';" /></td></tr>';
str += '</table>';
FtWriteFullHtml(LINK_DOCUMENT, str);
LINK_DOCUMENT.body.style.color = MENU_TEXT_COLOR;
LINK_DOCUMENT.body.style.backgroundColor = MENU_BG_COLOR;
LINK_DOCUMENT.body.style.margin = 0;
LINK_DOCUMENT.body.scroll = 'no';
break;
default:
break;
}
}
function FtDrawTableSelected(i, j)
{
var text = i.toString(10) + ' by ' + j.toString(10) + ' Table';
document.getElementById('tableLocation').innerHTML = text;
var num = 10;
for (m = 1; m <= num; m++) {
for (n = 1; n <= num; n++) {
var obj = document.getElementById('FtTableTd' + m.toString(10) + '_' + n.toString(10) + '');
if (m <= i && n <= j) {
obj.style.backgroundColor = MENU_SELECTED_COLOR;
} else {
obj.style.backgroundColor = '#FFFFFF';
}
}
}
}
function FtImageType(type)
{
if (type == 1) {
IMAGE_DOCUMENT.getElementById('imgFile').style.display = 'block';
IMAGE_DOCUMENT.getElementById('imgLink').style.display = 'none';
IMAGE_DOCUMENT.getElementById('imgLink').value = 'http://';
} else {
IMAGE_DOCUMENT.getElementById('imgFile').style.display = 'none';
IMAGE_DOCUMENT.getElementById('imgLink').style.display = 'block';
}
IMAGE_DOCUMENT.getElementById('imgPreview').innerHTML = " ";
IMAGE_DOCUMENT.getElementById('imgWidth').value = 0;
IMAGE_DOCUMENT.getElementById('imgHeight').value = 0;
}
function FtImagePreview()
{
var type = IMAGE_DOCUMENT.getElementById('imageType').value;
var url = IMAGE_DOCUMENT.getElementById('imgLink').value;
var file = IMAGE_DOCUMENT.getElementById('imgFile').value;
if (type == 1) {
if (BROWSER != 'IE') {
return false;
}
if (file == '') {
alert(MSG_SELECT_IMAGE);
return false;
}
url = 'file:///' + file;
if (FtCheckImageFileType(url, "\\") == false) {
return false;
}
} else {
if (FtCheckImageFileType(url, "/") == false) {
return false;
}
}
var imgObj = IMAGE_DOCUMENT.createElement("IMG");
imgObj.src = url;
var width = parseInt(imgObj.width);
var height = parseInt(imgObj.height);
IMAGE_DOCUMENT.getElementById('imgWidth').value = width;
IMAGE_DOCUMENT.getElementById('imgHeight').value = height;
var rate = parseInt(width/height);
if (width >230 && height <= 230) {
width = 230;
height = parseInt(width/rate);
} else if (width <=230 && height > 230) {
height = 230;
width = parseInt(height*rate);
} else if (width >230 && height > 230) {
if (width >= height) {
width = 230;
height = parseInt(width/rate);
} else {
height = 230;
width = parseInt(height*rate);
}
}
imgObj.style.width = width;
imgObj.style.height = height;
var el = IMAGE_DOCUMENT.getElementById('imgPreview');
if (el.hasChildNodes()) {
el.removeChild(el.childNodes[0]);
}
el.appendChild(imgObj);
return imgObj;
}
function FtDrawImageEnd()
{
var type = IMAGE_DOCUMENT.getElementById('imageType').value;
var url = IMAGE_DOCUMENT.getElementById('imgLink').value;
var file = IMAGE_DOCUMENT.getElementById('imgFile').value;
var width = IMAGE_DOCUMENT.getElementById('imgWidth').value;
var height = IMAGE_DOCUMENT.getElementById('imgHeight').value;
var border = IMAGE_DOCUMENT.getElementById('imgBorder').value;
var title = IMAGE_DOCUMENT.getElementById('imgTitle').value;
var align = IMAGE_DOCUMENT.getElementById('imgAlign').value;
var hspace = IMAGE_DOCUMENT.getElementById('imgHspace').value;
var vspace = IMAGE_DOCUMENT.getElementById('imgVspace').value;
if (type == 1) {
if (file == '') {
alert(MSG_SELECT_IMAGE);
return false;
}
if (FtCheckImageFileType(file, "\\") == false) {
return false;
}
} else {
if (FtCheckImageFileType(url, "/") == false) {
return false;
}
}
if (width.match(/^\d+$/) == null) {
alert(MSG_INVALID_WIDTH);
return false;
}
if (height.match(/^\d+$/) == null) {
alert(MSG_INVALID_HEIGHT);
return false;
}
if (border.match(/^\d+$/) == null) {
alert(MSG_INVALID_BORDER);
return false;
}
if (hspace.match(/^\d+$/) == null) {
alert(MSG_INVALID_HSPACE);
return false;
}
if (vspace.match(/^\d+$/) == null) {
alert(MSG_INVALID_VSPACE);
return false;
}
var fileName;
FtEditorForm.focus();
if (type == 1) {
fileName = FtGetFileName(file, "\\");
var fileExt = FtGetFileExt(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 {
FtInsertImage(url, width, height, border, title, align, hspace, vspace);
}
}
//插入图片
function FtInsertImage(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 = FtHtmlentities(title);
FtSelect();
FtInsertItem(element);
FtDisableMenu();
FtReloadIframe();
}
//得到子窗口代码并插入编辑器中
function FtDrawFlashEnd()
{
var url = FLASH_DOCUMENT.getElementById('flashLink').value;
var w = FLASH_DOCUMENT.getElementById('w').value;
var h = FLASH_DOCUMENT.getElementById('h').value;
if (url.match(/http:\/\/.{3,}/) == null) {
alert(MSG_INPUT_URL);
return false;
}
var fileExt=FtGetFileExt(url);
if (CurrentMode=='design' && fileExt != 'swf'){
alert(MSG_INVALID_FLASH);
return false;
}else if (fileExt != 'swf' && fileExt != 'gif' && fileExt != 'jpg' && fileExt != 'png' && fileExt != 'bmp') {
alert(MSG_INVALID_IMGSWF);
return false;
}
if (w.match(/^\d+$/) == null) {
alert(MSG_INVALID_WIDTH);
return false;
}
if (h.match(/^\d+$/) == null) {
alert(MSG_INVALID_HEIGHT);
return false;
}
if (CurrentMode=='design'){
var str = '[flash='+w+','+h+']'+url+'[/flash]';
FtEditorForm.focus();
FtSelect();
var element = document.createElement("span");
element.appendChild(document.createTextNode(str));
FtInsertItem(element);
}else{
if (fileExt == 'swf'){
var str = '[flash='+w+','+h+']'+url+'[/flash]';
}else{
var str = '[IMG]'+url+'[/IMG]';
}
FtReTurnSelection();
FtInsertarea(str);
}
FtDisableMenu();
}
//插入media rm ubb码
function FtDrawMediaEnd(cmd)
{
var mediaDocument=MEDIA_DOCUMENT;
var media;
for (var i=1;i<4;i++) {
if (mediaDocument.getElementById('media'+i).checked == true) {
media = mediaDocument.getElementById('media'+i).value;
break;
}
}
var url = mediaDocument.getElementById(cmd+'link').value;
var w = mediaDocument.getElementById(cmd+'w').value;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -