📄 kindeditor.js
字号:
function KindGetTop(id){var top = 28;var tmp = '';var obj = document.getElementById(id);while (eval("obj" + tmp).tagName != "BODY") {tmp += ".offsetParent";top += eval("obj" + tmp).offsetTop;}return top;}
function KindGetLeft(id){var left = 2;var tmp = '';var obj = document.getElementById(id);while (eval("obj" + tmp).tagName != "BODY") {tmp += ".offsetParent";left += eval("obj" + tmp).offsetLeft;}return left;}
function KindDisplayMenu(cmd){KindEditorForm.focus();KindSelection();KindDisableMenu();var top, left;top = KindGetTop(cmd);left = KindGetLeft(cmd);if (cmd == 'KE_LINK') {left -= 220;}KindDrawIframe(cmd);document.getElementById('POPUP_'+cmd).style.top = top.toString(10) + 'px';document.getElementById('POPUP_'+cmd).style.left = left.toString(10) + 'px';document.getElementById('POPUP_'+cmd).style.display = 'block';}
function KindDisableMenu(){for (i = 0; i < KE_POPUP_MENU_TABLE.length; i++) {document.getElementById('POPUP_'+KE_POPUP_MENU_TABLE[i]).style.display = 'none';}}
function KindGetMenuCommonStyle(){var str = 'position:absolute;top:1px;left:1px;font-size:12px;color:'+KE_MENU_TEXT_COLOR+';background-color:'+KE_MENU_BG_COLOR+';border:solid 1px '+KE_MENU_BORDER_COLOR+';z-index:1;display:none;';return str;}
function KindGetCommonMenu(cmd, content){var str = '';str += '<div id="POPUP_'+cmd+'" style="'+KindGetMenuCommonStyle()+'">';str += content;str += '</div>';return str;}
function KindCreateColorTable(cmd, eventStr){var str = '';str += '<table cellpadding="0" cellspacing="2" border="0">';for (i = 0; i < KE_COLOR_TABLE.length; i++) {if (i == 0 || (i >= 10 && i%10 == 0)) {str += '<tr>';}str += '<td style="width:12px;height:12px;border:1px solid #AAAAAA;font-size:1px;cursor:pointer;background-color:' +KE_COLOR_TABLE[i] + ';" onmouseover="javascript:this.style.borderColor=\'#000000\';' + ((eventStr) ? eventStr : '') + '" ' +'onmouseout="javascript:this.style.borderColor=\'#AAAAAA\';" ' + 'onclick="javascript:KindExecute(\''+cmd+'_END\', \'' + KE_COLOR_TABLE[i] + '\');"> </td>';if (i >= 9 && i%(i-1) == 0) {str += '</tr>';}}str += '</table>';return str;}
function KindDrawColorTable(cmd){var str = '';str += '<div id="POPUP_'+cmd+'" style="width:160px;padding:2px;'+KindGetMenuCommonStyle()+'">';str += KindCreateColorTable(cmd);str += '</div>';return str;}
function KindPopupMenu(cmd){switch (cmd){case 'KE_FONTNAME':var str = '';for (i = 0; i < KE_FONT_NAME.length; i++) {str += '<div style="font-family:' + KE_FONT_NAME[i][0] + ';padding:2px;width:160px;cursor:pointer;" ' + 'onclick="javascript:KindExecute(\'KE_FONTNAME_END\', \'' + KE_FONT_NAME[i][0] + '\');" ' + 'onmouseover="javascript:this.style.backgroundColor=\''+KE_MENU_SELECTED_COLOR+'\';" ' +'onmouseout="javascript:this.style.backgroundColor=\''+KE_MENU_BG_COLOR+'\';">' + KE_FONT_NAME[i][1] + '</div>';}str = KindGetCommonMenu('KE_FONTNAME', str);return str;break;case 'KE_FONTSIZE':var str = '';for (i = 0; i < KE_FONT_SIZE.length; i++) {str += '<div style="font-size:' + KE_FONT_SIZE[i][1] + ';padding:2px;width:120px;cursor:pointer;" ' + 'onclick="javascript:KindExecute(\'KE_FONTSIZE_END\', \'' + KE_FONT_SIZE[i][0] + '\');" ' + 'onmouseover="javascript:this.style.backgroundColor=\''+KE_MENU_SELECTED_COLOR+'\';" ' +'onmouseout="javascript:this.style.backgroundColor=\''+KE_MENU_BG_COLOR+'\';">' + KE_FONT_SIZE[i][1] + '</div>';}str = KindGetCommonMenu('KE_FONTSIZE', str);return str;break;case 'KE_TEXTCOLOR':var str = '';str = KindDrawColorTable('KE_TEXTCOLOR');return str;break;case 'KE_BGCOLOR':var str = '';str = KindDrawColorTable('KE_BGCOLOR');return str;break;case 'KE_HR':var str = '';str += '<div id="POPUP_'+cmd+'" style="width:160px;'+KindGetMenuCommonStyle()+'">';str += '<div id="hrPreview" style="margin:10px 2px 10px 2px;height:1px;border:0;font-size:0;background-color:#FFFFFF;"></div>';str += KindCreateColorTable(cmd, 'document.getElementById(\'hrPreview\').style.backgroundColor = this.style.backgroundColor;');str += '</div>';return str;break;case 'KE_IMAGE':var str = '';str += '<div id="POPUP_'+cmd+'" style="width:250px;'+KindGetMenuCommonStyle()+'">';str += '<iframe name="KindImageIframe" id="KindImageIframe" frameborder="0" style="width:250px;height:390px;padding:0;margin:0;border:0;">';str += '</iframe></div>';return str;break;case 'KE_LINK':var str = '';str += '<div id="POPUP_'+cmd+'" style="width:250px;'+KindGetMenuCommonStyle()+'">';str += '<iframe name="KindLinkIframe" id="KindLinkIframe" frameborder="0" style="width:250px;height:125px;padding:0;margin:0;border:0;">';str += '</iframe></div>';return str;break;default: break;}}
function KindDrawIframe(cmd){if (KE_BROWSER == 'IE') {KE_IMAGE_DOCUMENT = document.frames("KindImageIframe").document;KE_LINK_DOCUMENT = document.frames("KindLinkIframe").document;} else {KE_IMAGE_DOCUMENT = document.getElementById('KindImageIframe').contentDocument;KE_LINK_DOCUMENT = document.getElementById('KindLinkIframe').contentDocument;}switch (cmd){case 'KE_IMAGE':var str = '';str += '<div align="center">' +'<form name="uploadForm" style="margin:0;padding:0;" method="post" enctype="multipart/form-data" ' +'action="' + KE_IMAGE_UPLOAD_CGI + '?save_url='+KE_IMAGE_ATTACH_PATH+'" onsubmit="javascript:if(parent.KindDrawImageEnd()==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:240px;border:1px solid #AAAAAA;background-color:#FFFFFF;" align="center" valign="middle"> </td></tr></table></td></tr>' + '<tr><td style="width:50px;padding-left:5px;">';str += '<select id="imageType" onchange="javascript:parent.KindImageType(this.value);document.getElementById(\''+cmd+'submitButton\').focus();"><option value="1" selected="selected">'+KE_LANG['LOCAL']+'</option><option value="2">'+KE_LANG['REMOTE']+'</option></select>';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 #555555;display:none;" />' +'<input type="file" name="fileData" id="imgFile" size="14" style="border:1px solid #555555;" onchange="javascript:parent.KindImagePreview();" />';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;">'+KE_LANG['TITLE']+'</td><td width="82%"><input type="text" name="imgTitle" id="imgTitle" value="" maxlength="100" style="width:95%;border:1px solid #555555;" /></td></tr></table>' +'<table border="0" style="width:100%;font-size:12px;"><tr>' +'<td width="10%" style="padding:2px 2px 2px 5px;">'+KE_LANG['WIDTH']+'</td><td width="23%"><input type="text" name="imgWidth" id="imgWidth" value="0" maxlength="4" style="width:40px;border:1px solid #555555;" /></td>' +'<td width="10%" style="padding:2px;">'+KE_LANG['HEIGHT']+'</td><td width="23%"><input type="text" name="imgHeight" id="imgHeight" value="0" maxlength="4" style="width:40px;border:1px solid #555555;" /></td>' +'<td width="10%" style="padding:2px;">'+KE_LANG['BORDER']+'</td><td width="23%"><input type="text" name="imgBorder" id="imgBorder" value="0" maxlength="1" style="width:20px;border:1px solid #555555;" /></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="">'+KE_LANG['ALIGN']+'</option>';for (var i = 0; i < KE_IMAGE_ALIGN_TABLE.length; i++) {str += '<option value="' + KE_IMAGE_ALIGN_TABLE[i] + '">' + KE_IMAGE_ALIGN_TABLE[i] + '</option>';}str += '</select></td>' +'<td width="15%" style="padding:2px;">'+KE_LANG['HSPACE']+'</td><td width="15%"><input type="text" name="imgHspace" id="imgHspace" value="0" maxlength="1" style="width:20px;border:1px solid #555555;" /></td>' +'<td width="15%" style="padding:2px;">'+KE_LANG['VSPACE']+'</td><td width="15%"><input type="text" name="imgVspace" id="imgVspace" value="0" maxlength="1" style="width:20px;border:1px solid #555555;" /></td></tr></table>' +'</td></tr><tr><td colspan="2" style="margin:5px;padding-bottom:5px;" align="center">' +'<input type="button" name="button" value="'+KE_LANG['PREVIEW']+'" onclick="javascript:parent.KindImagePreview();" style="border:1px solid #555555;background-color:'+KE_BUTTON_COLOR+';" /> ' +'<input type="submit" name="button" id="'+cmd+'submitButton" value="'+KE_LANG['CONFIRM']+'" style="border:1px solid #555555;background-color:'+KE_BUTTON_COLOR+';" /> ' +'<input type="button" name="button" value="'+KE_LANG['CANCEL']+'" onclick="javascript:parent.KindDisableMenu();" style="border:1px solid #555555;background-color:'+KE_BUTTON_COLOR+';" /></td></tr>' + '</table></form></div>';KindDrawMenuIframe(KE_IMAGE_DOCUMENT, str);break;case 'KE_LINK':var str = ''; KindSelection();var title=KE_RANGE_TEXT;str += '<table cellpadding="0" cellspacing="0" style="width:100%;font-size:12px;"><tr><td style="width:50px;padding:5px;">标题</td><td style="width:200px;padding-top:5px;padding-bottom:5px;"><input type="text" id="hyperTitle" value="'+title+'" style="width:190px;border:1px solid #555555;background-color:#FFFFFF;"></td></tr><tr><td style="width:50px;padding:5px;">URL<td colspan="2"><input type="text" id="hyperLink" value="http://" style="width:190px;border:1px solid #555555;background-color:#FFFFFF;"></tr><tr><td colspan="2" style="padding-bottom:5px;" align="center"><input type="submit" name="button" id="KE_LINKsubmitButton" value="确定" onclick="javascript:parent.KindDrawLinkEnd();" style="border:1px solid #555555;background-color:#AAAAAA;" /> <input type="button" name="button" value="取消" onclick="javascript:parent.KindDisableMenu();" style="border:1px solid #555555;background-color:#AAAAAA;" /></td></tr></table>';str += '</table>';KindDrawMenuIframe(KE_LINK_DOCUMENT, str);break;default:break;}}
function KindDrawMenuIframe(obj, str){obj.open();obj.write(str);obj.close();obj.body.style.color = KE_MENU_TEXT_COLOR;obj.body.style.backgroundColor = KE_MENU_BG_COLOR;obj.body.style.margin = 0;obj.body.scroll = 'no';}
function KindDrawTableSelected(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('kindTableTd' + m.toString(10) + '_' + n.toString(10) + '');if (m <= i && n <= j) {obj.style.backgroundColor = KE_MENU_SELECTED_COLOR;} else {obj.style.backgroundColor = '#FFFFFF';}}}}
function KindImageType(type){if (type == 1) {KE_IMAGE_DOCUMENT.getElementById('imgFile').style.display = 'block';KE_IMAGE_DOCUMENT.getElementById('imgLink').style.display = 'none';KE_IMAGE_DOCUMENT.getElementById('imgLink').value = 'http://';} else {KE_IMAGE_DOCUMENT.getElementById('imgFile').style.display = 'none';KE_IMAGE_DOCUMENT.getElementById('imgLink').style.display = 'block';}KE_IMAGE_DOCUMENT.getElementById('imgPreview').innerHTML = " ";KE_IMAGE_DOCUMENT.getElementById('imgWidth').value = 0;KE_IMAGE_DOCUMENT.getElementById('imgHeight').value = 0;}
function KindImagePreview(){var type = KE_IMAGE_DOCUMENT.getElementById('imageType').value;var url = KE_IMAGE_DOCUMENT.getElementById('imgLink').value;var file = KE_IMAGE_DOCUMENT.getElementById('imgFile').value;if (type == 1) {if (KE_BROWSER != 'IE') {return false;}if (file == '') {alert(KE_LANG['SELECT_IMAGE']);return false;}URL = file;if (KindCheckImageFileType(url, "\\") == false) {return false;}} else {if (KindCheckImageFileType(url, "/") == false) {return false;}}var imgObj = KE_IMAGE_DOCUMENT.createElement("IMG");imgObj.src = url;var width = parseInt(imgObj.width);var height = parseInt(imgObj.height);if(width >0){KE_IMAGE_DOCUMENT.getElementById('imgWidth').value=width;}if(height >0){KE_IMAGE_DOCUMENT.getElementById('imgHeight').value=height;}if(KE_IMAGE_DOCUMENT.getElementById('imgWidth').value > 0&&KE_IMAGE_DOCUMENT.getElementById('imgHeight').value > 0){width = KE_IMAGE_DOCUMENT.getElementById('imgWidth').value;height = KE_IMAGE_DOCUMENT.getElementById('imgHeight').value;}if(width >230||width <1){width = 230;}if(height > 230 ||height <1){height = 230;}imgObj.style.width = width;imgObj.style.height = height;var el = KE_IMAGE_DOCUMENT.getElementById('imgPreview');if (el.hasChildNodes()) {el.removeChild(el.childNodes[0]);}el.appendChild(imgObj);return imgObj;}
function KindDrawImageEnd(){var type = KE_IMAGE_DOCUMENT.getElementById('imageType').value;var url= KE_IMAGE_DOCUMENT.getElementById('imgLink').value;var file = KE_IMAGE_DOCUMENT.getElementById('imgFile').value;var width = KE_IMAGE_DOCUMENT.getElementById('imgWidth').value;var height = KE_IMAGE_DOCUMENT.getElementById('imgHeight').value;var border = KE_IMAGE_DOCUMENT.getElementById('imgBorder').value;var title = KE_IMAGE_DOCUMENT.getElementById('imgTitle').value;var align = KE_IMAGE_DOCUMENT.getElementById('imgAlign').value;var hspace = KE_IMAGE_DOCUMENT.getElementById('imgHspace').value;var vspace = KE_IMAGE_DOCUMENT.getElementById('imgVspace').value;if (type == 1) {if (file == '') {alert(KE_LANG['SELECT_IMAGE']);return false;}if (KindCheckImageFileType(file, "\\") == false) {return false;}} else {if (KindCheckImageFileType(url, "/") == false) {return false;}}if (width.match(/^\d+$/) == null) {alert(KE_LANG['INVALID_WIDTH']);return false;}if (height.match(/^\d+$/) == null) {alert(KE_LANG['INVALID_HEIGHT']);return false;}if (border.match(/^\d+$/) == null) {alert(KE_LANG['INVALID_BORDER']);return false;}if (hspace.match(/^\d+$/) == null) {alert(KE_LANG['INVALID_HSPACE']);return false;}if (vspace.match(/^\d+$/) == null) {alert(KE_LANG['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;KE_IMAGE_DOCUMENT.getElementById('fileName').value = fileName;} else {KindInsertImage(url, width, height, border, title, align, hspace, vspace);}}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -