📄 script_gecko.js.php
字号:
aControl = aControl.parentNode; } if (aControl.tagName.toLowerCase() != 'table') aControl = null; } return(aControl); } // returns selected image function SPAW_getImg(editor) { var result = null; var ed = document.getElementById(editor+'_rEdit'); var selection = ed.contentWindow.getSelection(); var selectedRange; if (selection && selection.rangeCount > 0) { selectedRange = selection.getRangeAt(0); if (selectedRange.startContainer.nodeType == 1) // element node { var aControl = selectedRange.startContainer.childNodes[selectedRange.startOffset]; if (aControl && aControl.tagName && aControl.tagName.toLowerCase() == 'img') result = aControl } } return result; } function SPAW_table_row_insert_click(editor, sender) { } // insertRow function SPAW_formCellMatrix(ct) { } function SPAW_table_column_insert_click(editor, sender) { } // insertColumn function SPAW_table_cell_merge_right_click(editor, sender) { } // mergeRight function SPAW_table_cell_merge_down_click(editor, sender) { } // mergeDown function SPAW_table_row_delete_click(editor, sender) { } // deleteRow function SPAW_table_column_delete_click(editor, sender) { } // deleteColumn // split cell horizontally function SPAW_table_cell_split_horizontal_click(editor, sender) { } // splitH function SPAW_table_cell_split_vertical_click(editor, sender) { } // splitV // switch to wysiwyg mode function SPAW_design_tab_click(editor, sender) { var ed = document.getElementById(editor+'_rEdit'); iText = document.getElementById(editor).value; // mozilla bug? workaround ed.contentDocument.designMode = "off"; ed.contentDocument.body.innerHTML = iText; document.getElementById('SPAW_'+editor+'_editor_mode').value = 'design'; // turn off html mode toolbars document.getElementById('SPAW_'+editor+'_toolbar_top_html').style.display = 'none'; document.getElementById('SPAW_'+editor+'_toolbar_left_html').style.display = 'none'; document.getElementById('SPAW_'+editor+'_toolbar_right_html').style.display = 'none'; document.getElementById('SPAW_'+editor+'_toolbar_bottom_html').style.display = 'none'; // turn on design mode toolbars document.getElementById('SPAW_'+editor+'_toolbar_top_design').style.display = ''; document.getElementById('SPAW_'+editor+'_toolbar_left_design').style.display = ''; document.getElementById('SPAW_'+editor+'_toolbar_right_design').style.display = ''; document.getElementById('SPAW_'+editor+'_toolbar_bottom_design').style.display = ''; // switch editors document.getElementById(editor).style.display = "none"; ed.style.display = ""; // workaround mozilla bug with losing design mode ed.contentDocument.designMode = "on"; //document.getElementById(editor+"_rEdit").contentDocument.body.focus(); // turn on invisible borders if needed //SPAW_toggle_borders(editor,ed.contentDocument.body, null); SPAW_update_toolbar(editor, true); } // switch to html mode function SPAW_html_tab_click(editor, sender) { var ed = document.getElementById(editor+'_rEdit'); var iHTML = SPAW_getHtmlValue(editor, null); document.getElementById(editor).value = iHTML; document.getElementById('SPAW_'+editor+'_editor_mode').value = 'html'; // turn off design mode toolbars document.getElementById('SPAW_'+editor+'_toolbar_top_design').style.display = 'none'; document.getElementById('SPAW_'+editor+'_toolbar_left_design').style.display = 'none'; document.getElementById('SPAW_'+editor+'_toolbar_right_design').style.display = 'none'; document.getElementById('SPAW_'+editor+'_toolbar_bottom_design').style.display = 'none'; // turn on html mode toolbars document.getElementById('SPAW_'+editor+'_toolbar_top_html').style.display = ''; document.getElementById('SPAW_'+editor+'_toolbar_left_html').style.display = ''; document.getElementById('SPAW_'+editor+'_toolbar_right_html').style.display = ''; document.getElementById('SPAW_'+editor+'_toolbar_bottom_html').style.display = ''; // switch editors document.getElementById(editor+"_rEdit").style.display = "none"; document.getElementById(editor).style.display = ""; //document.getElementById(editor).focus(); //SPAW_update_toolbar(editor, true); } function SPAW_getFieldByEditor(editor, field) { var thefield; // get field by editor id if (field == null || field == "") { thefield = document.getElementById(editor).id; } else { thefield=field; } return thefield; } function SPAW_stripAbsoluteUrl(url) { } function SPAW_stripAbsoluteUrlFromImg(url) { } function SPAW_getHtmlValue(editor, thefield) { // temporary simplified return document.getElementById(editor+"_rEdit").contentDocument.body.innerHTML; } function SPAW_updateField(editor, field) { var thefield = SPAW_getFieldByEditor(editor, field); var htmlvalue = SPAW_getHtmlValue(editor, thefield); if (document.getElementById(thefield).value != htmlvalue) { // something changed document.getElementById(thefield).value = htmlvalue; } } function SPAW_confirm(editor,block,message) { } // cleanup html function SPAW_cleanup_click(editor, sender) { } // SPAW_cleanup_click // toggle borders worker function function SPAW_toggle_borders(editor, root, toggle) { } // SPAW_toggle_borders // toggle borders click event function SPAW_toggle_borders_click(editor, sender) { } // 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, e) { if (e.ctrlKey || (e.keyCode >= 33 && e.keyCode<=40)) { SPAW_update_toolbar(editor, false); } } var spaw_context_html = null; // update active toolbar state function SPAW_update_toolbar(editor, force) { document.getElementById(editor+'_rEdit').contentWindow.focus(); var pt = SPAW_getParentTag(editor); if (pt) { if (pt.outerHTML == pt && !force) { return; } else { spaw_context_html = pt; } } // 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 = document.getElementById(editor+'_rEdit'); // editor iframe var edoc = eobj.contentDocument; // 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++) { try { SPAW_toggle_tbi_state(editor, togglable_items[i][1], edoc.queryCommandState(togglable_items[i][0])); } catch (excp) {} } for (var i=0; i<standard_cmd_items.length; i++) { try { SPAW_toggle_tbi(editor, standard_cmd_items[i][1], edoc.queryCommandEnabled(standard_cmd_items[i][0])); } catch (excp) {} } // set state of toggle borders button if (document.getElementById("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++) { try { SPAW_toggle_tbi_dropdown(editor, standard_dropdowns[i][1], edoc.queryCommandValue(standard_dropdowns[i][0])); } catch (excp) {} } // style dropdown var pt = SPAW_getParentTag(editor); if (pt) 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.getElementById("SPAW_"+editor+"_tb_"+item)) { var ctrl = document.getElementById("SPAW_"+editor+"_tb_"+item); if (enable) { if (ctrl) { ctrl.disabled = false; eval("SPAW_"+document.getElementById("SPAW_"+editor+"_theme").value+"_bt_out(ctrl);"); } } else { if (ctrl) { ctrl.disabled = true; eval("SPAW_"+document.getElementById("SPAW_"+editor+"_theme").value+"_bt_off(ctrl);"); } } } } // set state of the toolbar item function SPAW_toggle_tbi_state(editor, item, state) { if (document.getElementById("SPAW_"+editor+"_tb_"+item)) { var ctrl = document.getElementById("SPAW_"+editor+"_tb_"+item); ctrl.setAttribute("spaw_state",state) eval("SPAW_"+document.getElementById("SPAW_"+editor+"_theme").value+"_bt_out(ctrl);"); } } // set dropdown value function SPAW_toggle_tbi_dropdown(editor, item, value) { if (document.getElementById("SPAW_"+editor+"_tb_"+item)) { var ctrl = document.getElementById("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) { var ed = document.getElementById(editor+'_rEdit'); ed.contentDocument.execCommand('superscript', false, null); ed.contentWindow.focus(); SPAW_update_toolbar(editor, true); } function SPAW_subscript_click(editor, sender) { var ed = document.getElementById(editor+'_rEdit'); ed.contentDocument.execCommand('subscript', false, null); ed.contentWindow.focus(); SPAW_update_toolbar(editor, true); }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -