📄 script.js.php
字号:
// remove font and span tags if (els[i].tagName != null && (els[i].tagName == "FONT" || els[i].tagName == "SPAN" || els[i].tagName == "DIV")) { els[i].removeNode(false); found = true; } } } // remove styles var els = window.frames[editor+'_rEdit'].document.body.all; for (var i=0; i<els.length; i++) { // remove style and class attributes from all tags els[i].removeAttribute("className",0); els[i].removeAttribute("style",0); } } SPAW_update_toolbar(editor, true); } // SPAW_cleanup_click // toggle borders worker function function SPAW_toggle_borders(editor, root, toggle) { // get toggle mode (on/off) var toggle_mode = toggle; if (toggle == null) { var tgl_borders = document.getElementById("SPAW_"+editor+"_borders"); if (tgl_borders != null) { toggle_mode = tgl_borders.value; } else { toggle_mode = "on" } } var tbls = new Array(); if (root.tagName == "TABLE") { tbls[0] = root; } else { // get all tables starting from root tbls = root.getElementsByTagName("TABLE"); } var tbln = 0; if (tbls != null) tbln = tbls.length; for (var ti = 0; ti<tbln; ti++) { if ((tbls[ti].style.borderWidth == 0 || tbls[ti].style.borderWidth == "0px") && (tbls[ti].border == 0 || tbls[ti].border == "0px") && (toggle_mode == "on")) { tbls[ti].runtimeStyle.borderWidth = "1px"; tbls[ti].runtimeStyle.borderStyle = "dashed"; tbls[ti].runtimeStyle.borderColor = "#aaaaaa"; } // no border else { tbls[ti].runtimeStyle.borderWidth = ""; tbls[ti].runtimeStyle.borderStyle = ""; tbls[ti].runtimeStyle.borderColor = ""; } var cls = tbls[ti].cells; // loop through cells for (var ci = 0; ci<cls.length; ci++) { if ((tbls[ti].style.borderWidth == 0 || tbls[ti].style.borderWidth == "0px") && (tbls[ti].border == 0 || tbls[ti].border == "0px") && (cls[ci].style.borderWidth == 0 || cls[ci].style.borderWidth == "0px") && (toggle_mode == "on")) { cls[ci].runtimeStyle.borderWidth = "1px"; cls[ci].runtimeStyle.borderStyle = "dashed"; cls[ci].runtimeStyle.borderColor = "#aaaaaa"; } else { cls[ci].runtimeStyle.borderWidth = ""; cls[ci].runtimeStyle.borderStyle = ""; cls[ci].runtimeStyle.borderColor = ""; } } // cells loop } // tables loop } // SPAW_toggle_borders // toggle borders click event function SPAW_toggle_borders_click(editor, sender) { // get current toggle mode (on/off) var toggle_mode; var tgl_borders = document.getElementById("SPAW_"+editor+"_borders"); if (tgl_borders != null) { toggle_mode = tgl_borders; // switch mode if (toggle_mode.value == "on") { toggle_mode.value = "off"; } else { toggle_mode.value = "on"; } // call worker function SPAW_toggle_borders(editor,this[editor+'_rEdit'].document.body, toggle_mode.value); } SPAW_update_toolbar(editor, true); } // SPAW_toggle_borders_click // returns base toolbar image name function SPAW_base_image_name(ctrl) { var imgname = ctrl.src.substring(0,ctrl.src.lastIndexOf("/"))+"/tb_"+ctrl.id.substr(ctrl.id.lastIndexOf("_tb_")+4, ctrl.id.length); return imgname; } // update toolbar if cursor moved or some event happened function SPAW_onkeyup(editor) { var eobj = window.frames[editor+'_rEdit']; // editor iframe if (eobj.event.ctrlKey || (eobj.event.keyCode >= 33 && eobj.event.keyCode<=40)) { SPAW_update_toolbar(editor, false); } } var spaw_context_html = ""; // update active toolbar state function SPAW_update_toolbar(editor, force) { //window.frames[editor+'_rEdit'].focus(); var pt = SPAW_getParentTag(editor); if (pt) { if (pt.outerHTML == spaw_context_html && !force) { return; } else { spaw_context_html = pt.outerHTML; } } // button sets table_row_items = [ "table_row_insert", "table_row_delete" ]; table_cell_items = [ "table_cell_prop", "table_column_insert", "table_column_delete", "table_cell_merge_right", "table_cell_merge_down", "table_cell_split_horizontal", "table_cell_split_vertical" ]; table_obj_items = [ "table_prop" ]; img_obj_items = [ "image_prop" ]; standard_cmd_items = [ // command, control id ["cut", "cut"], ["copy", "copy"], ["paste", "paste"], ["undo", "undo"], ["redo", "redo"], ["bold", "bold"], ["italic", "italic"], ["underline", "underline"], ["justifyleft", "left"], ["justifycenter", "center"], ["justifyright", "right"], ["justifyfull", "justify"], ["indent", "indent"], ["outdent", "unindent"], ["forecolor", "fore_color"], ["backcolor", "bg_color"], ["insertorderedlist", "ordered_list"], ["insertunorderedlist", "bulleted_list"], ["createlink", "hyperlink"], ["createlink", "internal_link"], ["createlink", "image_popup"], ["inserthorizontalrule","hr"], ["subscript", "subscript"], ["superscript", "superscript"] ]; togglable_items = [ // command, control id ["bold", "bold"], ["italic", "italic"], ["underline", "underline"], ["justifyleft", "left"], ["justifycenter", "center"], ["justifyright", "right"], ["justifyfull", "justify"], ["subscript", "subscript"], ["superscript", "superscript"] ]; standard_dropdowns = [ // command, control id ["fontname", "font"], ["fontsize", "fontsize"], ["formatblock", "paragraph"] ]; // proceed only if active toolbar is enabled if (!spaw_active_toolbar) return; //window.frames[editor+'_rEdit'].focus(); // get object references var eobj = window.frames[editor+'_rEdit']; // editor iframe var edoc = eobj.document; // editor docutment // enable image insert SPAW_toggle_tbi(editor,"image_insert", true); // enable table insert SPAW_toggle_tbi(editor,"table_create", true); // toggle table buttons // get table var ct = SPAW_getTable(editor); if (ct) { // table found // enable table properties SPAW_toggle_tb_items(editor,table_obj_items, true); // get table row var cr = SPAW_getTR(editor); if (cr) { // enable table row features SPAW_toggle_tb_items(editor,table_row_items, true); // get table cell var cd = SPAW_getTD(editor); if (cd) { // enable cell features SPAW_toggle_tb_items(editor,table_cell_items, true); } else { // disable cell features SPAW_toggle_tb_items(editor,table_cell_items, false); // disable image insert SPAW_toggle_tbi(editor,"image_insert", false); } } else { // disable table row and cell features SPAW_toggle_tb_items(editor,table_cell_items, false); SPAW_toggle_tb_items(editor,table_row_items, false); // disable image insert SPAW_toggle_tbi(editor,"image_insert", false); } } else { // disable all available table related buttons SPAW_toggle_tb_items(editor,table_obj_items, false); SPAW_toggle_tb_items(editor,table_row_items, false); SPAW_toggle_tb_items(editor,table_cell_items, false); } // end table buttons // image buttons // get image var im = SPAW_getImg(editor); if (im) { // enable image buttons SPAW_toggle_tb_items(editor,img_obj_items, true); // disable table insert SPAW_toggle_tbi(editor,"table_create", false); } else { // disable image buttons SPAW_toggle_tb_items(editor,img_obj_items, false); } // end image buttons // set state and enable/disable standard command buttons for (var i=0; i<togglable_items.length; i++) { SPAW_toggle_tbi_state(editor, togglable_items[i][1], edoc.queryCommandState(togglable_items[i][0])); } for (var i=0; i<standard_cmd_items.length; i++) { SPAW_toggle_tbi(editor, standard_cmd_items[i][1], edoc.queryCommandEnabled(standard_cmd_items[i][0])); } // set state of toggle borders button if (document.all["SPAW_"+editor+"_borders"].value == "on") { SPAW_toggle_tbi_state(editor, "toggle_borders", true); } else { SPAW_toggle_tbi_state(editor, "toggle_borders", false); } // dropdowns for (var i=0; i<standard_dropdowns.length; i++) { SPAW_toggle_tbi_dropdown(editor, standard_dropdowns[i][1], edoc.queryCommandValue(standard_dropdowns[i][0])); } // style dropdown var pt = SPAW_getParentTag(editor); SPAW_toggle_tbi_dropdown(editor, "style", pt.className); } // enable/disable toolbar item function SPAW_toggle_tb_items(editor, items, enable) { for (var i=0; i<items.length; i++) { SPAW_toggle_tbi(editor, items[i], enable); } } // enable/disable toolbar item function SPAW_toggle_tbi(editor, item, enable) { if (document.all["SPAW_"+editor+"_tb_"+item]) { var ctrl = document.all["SPAW_"+editor+"_tb_"+item]; if (enable) { if (ctrl) { ctrl.disabled = false; eval("SPAW_"+document.all["SPAW_"+editor+"_theme"].value+"_bt_out(ctrl);"); } } else { if (ctrl) { ctrl.disabled = true; eval("SPAW_"+document.all["SPAW_"+editor+"_theme"].value+"_bt_off(ctrl);"); } } } } // set state of the toolbar item function SPAW_toggle_tbi_state(editor, item, state) { if (document.all["SPAW_"+editor+"_tb_"+item]) { var ctrl = document.all["SPAW_"+editor+"_tb_"+item]; ctrl.setAttribute("spaw_state",state) eval("SPAW_"+document.all["SPAW_"+editor+"_theme"].value+"_bt_out(ctrl);"); } } // set dropdown value function SPAW_toggle_tbi_dropdown(editor, item, value) { if (document.all["SPAW_"+editor+"_tb_"+item]) { var ctrl = document.all["SPAW_"+editor+"_tb_"+item]; ctrl.options[0].selected = true; for (var ii=0; ii<ctrl.options.length; ii++) { if (ctrl.options[ii].value == value) { ctrl.options[ii].selected = true; } else { ctrl.options[ii].selected = false; } } } } function SPAW_superscript_click(editor, sender) { window.frames[editor+'_rEdit'].focus(); this[editor+'_rEdit'].document.execCommand('superscript', false, null); SPAW_update_toolbar(editor, true); } function SPAW_subscript_click(editor, sender) { window.frames[editor+'_rEdit'].focus(); this[editor+'_rEdit'].document.execCommand('subscript', false, null); SPAW_update_toolbar(editor, true); }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -