📄 fckeditorcode_gecko.js
字号:
} else {FCK.HasFocus = false;FCK.Events.FireEvent("OnBlur");}}function FCKFocusManager_Win_OnFocus_Area() {FCKFocusManager_Win_OnFocus();FCK.Focus();}function FCKFocusManager_Win_OnFocus() {FCKFocusManager._ResetTimer();if (!FCK.HasFocus && !FCKFocusManager.IsLocked) {FCK.HasFocus = true;FCK.Events.FireEvent("OnFocus");}}FCK.Description = "FCKeditor for Gecko Browsers";FCK.InitializeBehaviors = function () {Window_OnResize();FCKFocusManager.AddWindow(this.EditorWindow);var A = function (e) {var B;if (e.ctrlKey && !e.shiftKey && !e.altKey) {switch (e.which) {case 66:case 98:FCK.ExecuteNamedCommand("bold");B = true;break;case 105:case 73:FCK.ExecuteNamedCommand("italic");B = true;break;case 117:case 85:FCK.ExecuteNamedCommand("underline");B = true;break;case 86:case 118:B = (FCK.Status != FCK_STATUS_COMPLETE || !FCK.Events.FireEvent("OnPaste"));break;}} else {if (e.shiftKey && !e.ctrlKey && !e.altKey && e.keyCode == 45) {B = (FCK.Status != FCK_STATUS_COMPLETE || !FCK.Events.FireEvent("OnPaste"));}}if (B) {e.preventDefault();e.stopPropagation();}};this.EditorDocument.addEventListener("keypress", A, true);this.ExecOnSelectionChange = function () {FCK.Events.FireEvent("OnSelectionChange");};this.ExecOnSelectionChangeTimer = function () {if (FCK.LastOnChangeTimer) {window.clearTimeout(FCK.LastOnChangeTimer);}FCK.LastOnChangeTimer = window.setTimeout(FCK.ExecOnSelectionChange, 100);};this.EditorDocument.addEventListener("mouseup", this.ExecOnSelectionChange, false);this.EditorDocument.addEventListener("keyup", this.ExecOnSelectionChangeTimer, false);this._DblClickListener = function (e) {FCK.OnDoubleClick(e.target);e.stopPropagation();};this.EditorDocument.addEventListener("dblclick", this._DblClickListener, true);FCK.ContextMenu._InnerContextMenu.SetMouseClickWindow(FCK.EditorWindow);FCK.ContextMenu._InnerContextMenu.AttachToElement(FCK.EditorDocument);};FCK.MakeEditable = function () {this.EditingArea.MakeEditable();};function Document_OnContextMenu(e) {if (!e.target._FCKShowContextMenu) {e.preventDefault();}}document.oncontextmenu = Document_OnContextMenu;FCK.RedirectNamedCommands = new Object();FCK.ExecuteNamedCommand = function (A, B, C) {FCKUndo.SaveUndoStep();if (!C && FCK.RedirectNamedCommands[A] != null) {FCK.ExecuteRedirectedNamedCommand(A, B);} else {FCK.Focus();FCK.EditorDocument.execCommand(A, false, B);FCK.Events.FireEvent("OnSelectionChange");}FCKUndo.SaveUndoStep();};FCK.GetNamedCommandState = function (A) {try {if (!FCK.EditorDocument.queryCommandEnabled(A)) {return FCK_TRISTATE_DISABLED;} else {return FCK.EditorDocument.queryCommandState(A) ? FCK_TRISTATE_ON : FCK_TRISTATE_OFF;}}catch (e) {return FCK_TRISTATE_OFF;}};FCK.GetNamedCommandValue = function (A) {var B = "";var C = FCK.GetNamedCommandState(A);if (C == FCK_TRISTATE_DISABLED) {return null;}try {B = this.EditorDocument.queryCommandValue(A);}catch (e) {}return B ? B : "";};FCK.PasteFromWord = function () {FCKDialog.OpenDialog("FCKDialog_Paste", FCKLang.PasteFromWord, "dialog/fck_paste.html", 400, 330, "Word");};FCK.Preview = function () {var A = FCKConfig.ScreenWidth * 0.8;var B = FCKConfig.ScreenHeight * 0.7;var C = (FCKConfig.ScreenWidth - A) / 2;var D = window.open("", null, "toolbar=yes,location=no,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width=" + A + ",height=" + B + ",left=" + C);var E;if (FCKConfig.FullPage) {if (FCK.TempBaseTag.length > 0) {E = FCK.GetXHTML().replace(FCKRegexLib.HeadOpener, "$&" + FCK.TempBaseTag);} else {E = FCK.GetXHTML();}} else {E = FCKConfig.DocType + "<html dir=\"" + FCKConfig.ContentLangDirection + "\">" + "<head>" + FCK.TempBaseTag + "<title>" + FCKLang.Preview + "</title>" + FCK._GetEditorAreaStyleTags() + "</head><body>" + FCK.GetXHTML() + "</body></html>";}D.document.write(E);D.document.close();};FCK.SwitchEditMode = function (A) {var B = (FCK.EditMode == FCK_EDITMODE_WYSIWYG);var C;if (B) {if (!A && FCKBrowserInfo.IsIE) {FCKUndo.SaveUndoStep();}C = FCK.GetXHTML(FCKConfig.FormatSource);} else {C = this.EditingArea.Textarea.value;}FCK.EditMode = B ? FCK_EDITMODE_SOURCE : FCK_EDITMODE_WYSIWYG;FCK.SetHTML(C);if (FCKBrowserInfo.IsGecko) {window.onresize();}FCK.Focus();FCKTools.RunFunction(FCK.ToolbarSet.RefreshModeState, FCK.ToolbarSet);};FCK.CreateElement = function (A) {var e = FCK.EditorDocument.createElement(A);return FCK.InsertElementAndGetIt(e);};FCK.InsertElementAndGetIt = function (e) {e.setAttribute("FCKTempLabel", "true");this.InsertElement(e);var A = FCK.EditorDocument.getElementsByTagName(e.tagName);for (var i = 0; i < A.length; i++) {if (A[i].getAttribute("FCKTempLabel")) {A[i].removeAttribute("FCKTempLabel");return A[i];}}return null;};FCK._BaseGetNamedCommandState = FCK.GetNamedCommandState;FCK.GetNamedCommandState = function (A) {switch (A) {case "Unlink":return FCKSelection.HasAncestorNode("A") ? FCK_TRISTATE_OFF : FCK_TRISTATE_DISABLED;default:return FCK._BaseGetNamedCommandState(A);}};FCK.RedirectNamedCommands = {Print:true, Paste:true, Cut:true, Copy:true};FCK.ExecuteRedirectedNamedCommand = function (A, B) {switch (A) {case "Print":FCK.EditorWindow.print();break;case "Paste":try {if (FCK.Paste()) {FCK.ExecuteNamedCommand("Paste", null, true);}}catch (e) {alert(FCKLang.PasteErrorPaste);}break;case "Cut":try {FCK.ExecuteNamedCommand("Cut", null, true);}catch (e) {alert(FCKLang.PasteErrorCut);}break;case "Copy":try {FCK.ExecuteNamedCommand("Copy", null, true);}catch (e) {alert(FCKLang.PasteErrorCopy);}break;default:FCK.ExecuteNamedCommand(A, B);}};FCK.AttachToOnSelectionChange = function (A) {this.Events.AttachEvent("OnSelectionChange", A);};FCK.Paste = function () {if (FCKConfig.ForcePasteAsPlainText) {FCK.PasteAsPlainText();return false;} else {return true;}};FCK.InsertHtml = function (A) {A = FCKConfig.ProtectedSource.Protect(A);A = FCK.ProtectUrls(A);var B = FCKSelection.Delete();var C = B.getRangeAt(0);var D = C.createContextualFragment(A);var E = D.lastChild;C.insertNode(D);FCKSelection.SelectNode(E);FCKSelection.Collapse(false);this.Focus();};FCK.InsertElement = function (A) {var B = FCKSelection.Delete();var C = B.getRangeAt(0);C.insertNode(A);FCKSelection.SelectNode(A);FCKSelection.Collapse(false);this.Focus();};FCK.PasteAsPlainText = function () {FCKDialog.OpenDialog("FCKDialog_Paste", FCKLang.PasteAsText, "dialog/fck_paste.html", 400, 330, "PlainText");};FCK.GetClipboardHTML = function () {return "";};FCK.CreateLink = function (A) {FCK.ExecuteNamedCommand("Unlink");if (A.length > 0) {var B = "javascript:void(0);/*" + (new Date().getTime()) + "*/";FCK.ExecuteNamedCommand("CreateLink", B);var C = document.evaluate("//a[@href='" + B + "']", this.EditorDocument.body, null, 9, null).singleNodeValue;if (C) {C.href = A;return C;}}};var FCKSelection = FCK.Selection = new Object();FCKSelection.GetType = function () {this._Type = "Text";var A;try {A = FCK.EditorWindow.getSelection();}catch (e) {}if (A && A.rangeCount == 1) {var B = A.getRangeAt(0);if (B.startContainer == B.endContainer && (B.endOffset - B.startOffset) == 1 && B.startContainer.nodeType != Node.TEXT_NODE) {this._Type = "Control";}}return this._Type;};FCKSelection.GetSelectedElement = function () {if (this.GetType() == "Control") {var A = FCK.EditorWindow.getSelection();return A.anchorNode.childNodes[A.anchorOffset];}};FCKSelection.GetParentElement = function () {if (this.GetType() == "Control") {return FCKSelection.GetSelectedElement().parentNode;} else {var A = FCK.EditorWindow.getSelection();if (A) {var B = A.anchorNode;while (B && B.nodeType != 1) {B = B.parentNode;}return B;}}};FCKSelection.SelectNode = function (A) {var B = FCK.EditorDocument.createRange();B.selectNode(A);var C = FCK.EditorWindow.getSelection();C.removeAllRanges();C.addRange(B);};FCKSelection.Collapse = function (A) {var B = FCK.EditorWindow.getSelection();if (A == null || A === true) {B.collapseToStart();} else {B.collapseToEnd();}};FCKSelection.HasAncestorNode = function (A) {var B = this.GetSelectedElement();if (!B && FCK.EditorWindow) {try {B = FCK.EditorWindow.getSelection().getRangeAt(0).startContainer;}catch (e) {}}while (B) {if (B.nodeType == 1 && B.tagName == A) {return true;}B = B.parentNode;}return false;};FCKSelection.MoveToAncestorNode = function (A) {var B;var C = this.GetSelectedElement();if (!C) {C = FCK.EditorWindow.getSelection().getRangeAt(0).startContainer;}while (C) {if (C.tagName == A) {return C;}C = C.parentNode;}return null;};FCKSelection.Delete = function () {var A = FCK.EditorWindow.getSelection();for (var i = 0; i < A.rangeCount; i++) {A.getRangeAt(i).deleteContents();}return A;};var FCKTableHandler = new Object();FCKTableHandler.InsertRow = function () {var A = FCKSelection.MoveToAncestorNode("TR");if (!A) {return;}var B = A.cloneNode(true);A.parentNode.insertBefore(B, A);FCKTableHandler.ClearRow(A);};FCKTableHandler.DeleteRows = function (A) {if (!A) {A = FCKSelection.MoveToAncestorNode("TR");}if (!A) {return;}var B = FCKTools.GetElementAscensor(A, "TABLE");if (B.rows.length == 1) {FCKTableHandler.DeleteTable(B);return;}A.parentNode.removeChild(A);};FCKTableHandler.DeleteTable = function (A) {if (!A) {var A = FCKSelection.GetSelectedElement();if (!A || A.tagName != "TABLE") {A = FCKSelection.MoveToAncestorNode("TABLE");}}if (!A) {return;}FCKSelection.SelectNode(A);FCKSelection.Collapse();A.parentNode.removeChild(A);};FCKTableHandler.InsertColumn = function () {var A = FCKSelection.MoveToAncestorNode("TD");if (!A) {A = FCKSelection.MoveToAncestorNode("TH");}if (!A) {return;}var B = FCKTools.GetElementAscensor(A, "TABLE");var C = A.cellIndex + 1;for (var i = 0; i < B.rows.length; i++) {var D = B.rows[i];if (D.cells.length < C) {continue;}A = D.cells[C - 1].cloneNode(false);if (FCKBrowserInfo.IsGecko) {A.innerHTML = GECKO_BOGUS;}var E = D.cells[C];if (E) {D.insertBefore(A, E);} else {D.appendChild(A);}}};FCKTableHandler.DeleteColumns = function () {var A = FCKSelection.MoveToAncestorNode("TD") || FCKSelection.MoveToAncestorNode("TH");if (!A) {return;}var B = FCKTools.GetElementAscensor(A, "TABLE");var C = A.cellIndex;for (var i = B.rows.length - 1; i >= 0; i--) {var D = B.rows[i];if (C == 0 && D.cells.length == 1) {FCKTableHandler.DeleteRows(D);continue;}if (D.cells[C]) {D.removeChild(D.cells[C]);}}};FCKTableHandler.InsertCell = function (A) {var B = A ? A : FCKSelection.MoveToAncestorNode("TD");if (!B) {return;}var C = FCK.EditorDocument.createElement("TD");if (FCKBrowserInfo.IsGecko) {C.innerHTML = GECKO_BOGUS;}if (B.cellIndex == B.parentNode.cells.length - 1) {B.parentNode.appendChild(C);} else {B.parentNode.insertBefore(C, B.nextSibling);}return C;};FCKTableHandler.DeleteCell = function (A) {if (A.parentNode.cells.length == 1) {FCKTableHandler.DeleteRows(FCKTools.GetElementAscensor(A, "TR"));return;}A.parentNode.removeChild(A);};FCKTableHandler.DeleteCells = function () {var A = FCKTableHandler.GetSelectedCells();for (var i = A.length - 1; i >= 0; i--) {FCKTableHandler.DeleteCell(A[i]);}};FCKTableHandler.MergeCells = function () {var A = FCKTableHandler.GetSelectedCells();if (A.length < 2) {return;}if (A[0].parentNode != A[A.length - 1].parentNode) {return;}var B = isNaN(A[0].colSpan) ? 1 : A[0].colSpan;var C = "";var D = FCK.EditorDocument.createDocumentFragment();for (var i = A.length - 1; i >= 0; i--) {var E = A[i];for (var c = E.childNodes.length - 1; c >= 0; c--) {var F = E.removeChild(E.childNodes[c]);if ((F.hasAttribute && F.hasAttribute("_moz_editor_bogus_node")) || (F.getAttribute && F.getAttribute("type", 2) == "_moz")) {continue;}D.insertBefore(F, D.firstChild);}if (i > 0) {B += isNaN(E.colSpan) ? 1 : E.colSpan;FCKTableHandler.DeleteCell(E);}}A[0].colSpan = B;if (FCKBrowserInfo.IsGecko && D.childNodes.length == 0) {A[0].innerHTML = GECKO_BOGUS;} else {A[0].appendChild(D);}};FCKTableHandler.SplitCell = function () {var A = FCKTableHandler.GetSelectedCells();if (A.length != 1) {return;}var B = this._CreateTableMap(A[0].parentNode.parentNode);var C = FCKTableHandler._GetCellIndexSpan(B, A[0].parentNode.rowIndex, A[0]);var D = this._GetCollumnCells(B, C);for (var i = 0; i < D.length; i++) {if (D[i] == A[0]) {var E = this.InsertCell(A[0]);if (!isNaN(A[0].rowSpan) && A[0].rowSpan > 1) {E.rowSpan = A[0].rowSpan;}} else {if (isNaN(D[i].colSpan)) {D[i].colSpan = 2;} else {D[i].colSpan += 1;}}}};FCKTableHandler._GetCellIndexSpan = function (A, B, C) {if (A.length < B + 1) {return null;}var D = A[B];for (var c = 0; c < D.length; c++) {if (D[c] == C) {return c;}}return null;};FCKTableHandler._GetCollumnCells = function (A, B) {var C = new Array();for (var r = 0; r < A.length; r++) {var D = A[r][B];if (D && (C.length == 0 || C[C.length - 1] != D)) {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -