📄 kindeditor.js
字号:
var cmd = 'title'; KE.util.selection(id); var menu = new KE.menu({ id : id, cmd : cmd, width : '120px' }); KE.each(title, function(key, value) { var html = '<' + key + ' style="margin:0px;">' + value + '</' + key + '>'; menu.add(html, new Function('KE.plugin["' + cmd + '"].exec("' + id + '", "<' + key + '>")')); }); menu.show(); }, exec : function(id, value) { KE.util.select(id); KE.util.execCommand(id, 'formatblock', value); KE.layout.hide(id); KE.util.focus(id); }};KE.plugin['emoticons'] = { icon : 'emoticons.gif', click : function(id) { var emoticonTable = [ ['etc_01.gif','etc_02.gif','etc_03.gif','etc_04.gif','etc_05.gif','etc_06.gif'], ['etc_07.gif','etc_08.gif','etc_09.gif','etc_10.gif','etc_11.gif','etc_12.gif'], ['etc_13.gif','etc_14.gif','etc_15.gif','etc_16.gif','etc_17.gif','etc_18.gif'], ['etc_19.gif','etc_20.gif','etc_21.gif','etc_22.gif','etc_23.gif','etc_24.gif'], ['etc_25.gif','etc_26.gif','etc_27.gif','etc_28.gif','etc_29.gif','etc_30.gif'], ['etc_31.gif','etc_32.gif','etc_33.gif','etc_34.gif','etc_35.gif','etc_36.gif'] ]; var cmd = 'emoticons'; KE.util.selection(id); var table = KE.$$('table'); table.cellPadding = 0; table.cellSpacing = 2; table.border = 0; table.style.margin = 0; table.style.padding = 0; table.style.borderCollapse = 'separate'; for (var i = 0; i < emoticonTable.length; i++) { var row = table.insertRow(i); for (var j = 0; j < emoticonTable[i].length; j++) { var cell = row.insertCell(j); cell.style.margin = 0; cell.style.padding = '1px'; cell.style.border = '1px solid #F0F0EE'; cell.style.cursor = 'pointer'; cell.onmouseover = function() {this.style.borderColor = '#000000'; } cell.onmouseout = function() {this.style.borderColor = '#F0F0EE'; } cell.onclick = new Function('KE.plugin["' + cmd + '"].exec("' + id + '", "' + emoticonTable[i][j] + '")'); var img = KE.$$('img'); img.src = KE.g[id].pluginsPath + 'emoticons/' + emoticonTable[i][j]; cell.appendChild(img); } } var menu = new KE.menu({ id : id, cmd : cmd }); menu.append(table); menu.show(); }, exec : function(id, value) { KE.util.select(id); var html = '<img src="' + KE.g[id].pluginsPath + 'emoticons/' + value + '" border="0">'; KE.util.insertHtml(id, html); KE.layout.hide(id); KE.util.focus(id); }};KE.plugin['flash'] = { click : function(id) { KE.util.selection(id); var dialog = new KE.dialog({ id : id, cmd : 'flash', width : 280, height : 250, title : "Flash", previewButton : KE.lang['preview'], yesButton : KE.lang['yes'], noButton : KE.lang['no'] }); dialog.show(); }, check : function(id, url) { if (url.match(/^\w+:\/\/.{3,}(swf)$/i) == null) { alert(KE.lang['invalidSwf']); window.focus(); KE.g[id].yesButton.focus(); return false; } return true; }, preview : function(id) { var dialogDoc = KE.util.getIframeDoc(KE.g[id].dialog); var url = KE.$('url', dialogDoc).value; if (!this.check(id, url)) return false; var embed = KE.$$('embed', dialogDoc); embed.src = url; embed.type = "application/x-shockwave-flash"; embed.quality = "high"; embed.width = 190; embed.height = 190; KE.$('previewDiv', dialogDoc).innerHTML = ""; KE.$('previewDiv', dialogDoc).appendChild(embed); }, exec : function(id) { KE.util.select(id); var dialogDoc = KE.util.getIframeDoc(KE.g[id].dialog); var url = KE.$('url', dialogDoc).value; if (!this.check(id, url)) return false; var html = '<embed src="' + url + '" type="application/x-shockwave-flash" quality="high" />'; KE.util.insertHtml(id, html); KE.layout.hide(id); KE.util.focus(id); }};KE.plugin['image'] = { click : function(id) { KE.util.selection(id); var dialog = new KE.dialog({ id : id, cmd : 'image', width : 310, height : 90, title : KE.lang['image'], yesButton : KE.lang['yes'], noButton : KE.lang['no'] }); dialog.show(); }, check : function(id) { var dialogDoc = KE.util.getIframeDoc(KE.g[id].dialog); var type = KE.$('type', dialogDoc).value; var url = ''; if (type == 1) { url = KE.$('imgFile', dialogDoc).value; } else { url = KE.$('url', dialogDoc).value; } var width = KE.$('imgWidth', dialogDoc).value; var height = KE.$('imgHeight', dialogDoc).value; var border = KE.$('imgBorder', dialogDoc).value; if (url.match(/\.(jpg|jpeg|gif|bmp|png)$/i) == null) { alert(KE.lang['invalidImg']); window.focus(); KE.g[id].yesButton.focus(); return false; } if (width.match(/^\d+$/) == null) { alert(KE.lang['invalidWidth']); window.focus(); KE.g[id].yesButton.focus(); return false; } if (height.match(/^\d+$/) == null) { alert(KE.lang['invalidHeight']); window.focus(); KE.g[id].yesButton.focus(); return false; } if (border.match(/^\d+$/) == null) { alert(KE.lang['invalidBorder']); window.focus(); KE.g[id].yesButton.focus(); return false; } return true; }, exec : function(id) { KE.util.select(id); var dialogDoc = KE.util.getIframeDoc(KE.g[id].dialog); var type = KE.$('type', dialogDoc).value; if (!this.check(id)) return false; if (type == 1) { KE.$('editorId', dialogDoc).value = id; dialogDoc.uploadForm.submit(); return false; } else { var url = KE.$('url', dialogDoc).value; var title = KE.$('imgTitle', dialogDoc).value; var width = KE.$('imgWidth', dialogDoc).value; var height = KE.$('imgHeight', dialogDoc).value; var border = KE.$('imgBorder', dialogDoc).value; this.insert(id, url, title, width, height, border); } }, insert : function(id, url, title, width, height, border) { var html = '<img src="' + url + '" '; if (width > 0) html += 'width="' + width + '" '; if (height > 0) html += 'height="' + height + '" '; if (title) html += 'title="' + title + '" '; html += 'alt="' + title + '" '; html += 'border="' + border + '" />'; KE.util.insertHtml(id, html); KE.layout.hide(id); KE.util.focus(id); }};KE.plugin['layer'] = { click : function(id) { var cmd = 'layer'; var styles = [ 'margin:5px;border:1px solid #000000;', 'margin:5px;border:2px solid #000000;', 'margin:5px;border:1px dashed #000000;', 'margin:5px;border:2px dashed #000000;', 'margin:5px;border:1px dotted #000000;', 'margin:5px;border:2px dotted #000000;' ]; KE.util.selection(id); var menu = new KE.menu({ id : id, cmd : cmd, width : '150px' }); for (var i = 0; i < styles.length; i++) { var html = '<div style="height:15px;' + styles[i] + '"></div>'; menu.add(html, new Function('KE.plugin["' + cmd + '"].exec("' + id + '", "padding:5px;' + styles[i] + '")')); } menu.show(); }, exec : function(id, value) { KE.util.select(id); var html = '<div style="' + value + '">' + KE.lang['pleaseInput'] + '</div>'; KE.util.insertHtml(id, html); KE.layout.hide(id); KE.util.focus(id); }};KE.plugin['link'] = { click : function(id) { KE.util.selection(id); var dialog = new KE.dialog({ id : id, cmd : 'link', width : 310, height : 70, title : KE.lang['link'], yesButton : KE.lang['yes'], noButton : KE.lang['no'] }); dialog.show(); }, exec : function(id) { KE.util.select(id); var iframeDoc = KE.g[id].iframeDoc; var range = KE.g[id].range; var dialogDoc = KE.util.getIframeDoc(KE.g[id].dialog); var url = KE.$('hyperLink', dialogDoc).value; var target = KE.$('linkType', dialogDoc).value; if (url.match(/\w+:\/\/.{3,}/) == null) { alert(KE.lang['invalidUrl']); window.focus(); KE.g[id].yesButton.focus(); return false; } var node; if (KE.browser == 'IE') { node = range.item ? range.item(0).parentNode : range.parentElement(); } else { node = (range.startContainer == range.endContainer) ? range.startContainer.parentNode : iframeDoc.body; } if (node && node.tagName == 'A') node = node.parentNode; if (!node) node = iframeDoc.body; iframeDoc.execCommand("createlink", false, "__ke_temp_url__"); var arr = node.getElementsByTagName('a'); for (var i = 0, l = arr.length; i < l; i++) { if (arr[i].href.match(/\/?__ke_temp_url__$/) != null) { arr[i].href = url; if (target) arr[i].target = target; } } KE.history.add(id); KE.layout.hide(id); KE.util.focus(id); }};KE.plugin['media'] = { click : function(id) { KE.util.selection(id); var dialog = new KE.dialog({ id : id, cmd : 'media', width : 280, height : 250, title : KE.lang['media'], previewButton : KE.lang['preview'], yesButton : KE.lang['yes'], noButton : KE.lang['no'] }); dialog.show(); }, check : function(id, url) { if (url.match(/^\w+:\/\/.{3,}\.(mp3|wav|wma|wmv|mid|avi|mpg|mpeg|asf|rm|rmvb)$/i) == null) { alert(KE.lang['invalidMedia']); window.focus(); KE.g[id].yesButton.focus(); return false; } return true; }, preview : function(id) { var dialogDoc = KE.util.getIframeDoc(KE.g[id].dialog); var url = KE.$('url', dialogDoc).value; if (!this.check(id, url)) return false; var embed = KE.$$('embed', dialogDoc); embed.src = url; if (url.match(/\.(rm|rmvb)$/i) == null) { embed.type = "video/x-ms-asf-plugin"; } else { embed.type = "audio/x-pn-realaudio-plugin"; } embed.loop = "true"; embed.autostart = "true"; embed.width = 260; embed.height = 190; KE.$('previewDiv', dialogDoc).innerHTML = ""; KE.$('previewDiv', dialogDoc).appendChild(embed); }, exec : function(id) { KE.util.select(id); var dialogDoc = KE.util.getIframeDoc(KE.g[id].dialog); var url = KE.$('url', dialogDoc).value; if (!this.check(id, url)) return false; var html; if (url.match(/\.(rm|rmvb)$/i) == null) { html = '<embed src="' + url + '" type="video/x-ms-asf-plugin" loop="true" autostart="true" />'; } else { html = '<embed src="' + url + '" type="audio/x-pn-realaudio-plugin
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -