📄 fckeditorcode_gecko_2.js
字号:
*
* This file has been compacted for best loading performance.
*/
FCK.RedirectNamedCommands=new Object();FCK.ExecuteNamedCommand=function(commandName,commandParameter,noRedirect){FCKUndo.SaveUndoStep();if (!noRedirect&&FCK.RedirectNamedCommands[commandName]!=null) FCK.ExecuteRedirectedNamedCommand(commandName,commandParameter);else{FCK.Focus();FCK.EditorDocument.execCommand(commandName,false,commandParameter);FCK.Events.FireEvent('OnSelectionChange');};FCKUndo.SaveUndoStep();};FCK.GetNamedCommandState=function(commandName){try{if (!FCK.EditorDocument.queryCommandEnabled(commandName)) return FCK_TRISTATE_DISABLED;else return FCK.EditorDocument.queryCommandState(commandName)?FCK_TRISTATE_ON:FCK_TRISTATE_OFF;}catch (e){return FCK_TRISTATE_OFF;};};FCK.GetNamedCommandValue=function(commandName){var sValue='';var eState=FCK.GetNamedCommandState(commandName);if (eState==FCK_TRISTATE_DISABLED) return null;try{sValue=this.EditorDocument.queryCommandValue(commandName);}catch(e) {};return sValue?sValue:'';};FCK.PasteFromWord=function(){FCKDialog.OpenDialog('FCKDialog_Paste',FCKLang.PasteFromWord,'dialog/fck_paste.html',400,330,'Word');};FCK.Preview=function(){var iWidth=FCKConfig.ScreenWidth*0.8;var iHeight=FCKConfig.ScreenHeight*0.7;var iLeft=(FCKConfig.ScreenWidth-iWidth) / 2;var oWindow=window.open('', null, 'toolbar=yes,location=no,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width=' + iWidth + ',height=' + iHeight + ',left=' + iLeft);var sHTML;if (FCKConfig.FullPage){if (FCK.TempBaseTag.length > 0) sHTML=FCK.GetXHTML().replace( FCKRegexLib.HeadOpener, '$&' + FCK.TempBaseTag);else sHTML=FCK.GetXHTML();}else{sHTML=FCKConfig.DocType + '<html dir="' + FCKConfig.ContentLangDirection + '">' + '<head>' + FCK.TempBaseTag + '<title>' + FCKLang.Preview + '</title>' + FCK._GetEditorAreaStyleTags() + '</head><body>' + FCK.GetXHTML() + '</body></html>';};oWindow.document.write(sHTML);oWindow.document.close();};FCK.SwitchEditMode=function(noUndo){var bIsWysiwyg=(FCK.EditMode==FCK_EDITMODE_WYSIWYG);var sHtml;if (bIsWysiwyg){if (!noUndo && FCKBrowserInfo.IsIE) FCKUndo.SaveUndoStep();sHtml=FCK.GetXHTML(FCKConfig.FormatSource);}else sHtml=this.EditingArea.Textarea.value;FCK.EditMode=bIsWysiwyg ? FCK_EDITMODE_SOURCE : FCK_EDITMODE_WYSIWYG;FCK.SetHTML(sHtml);if (FCKBrowserInfo.IsGecko) window.onresize();FCK.Focus();FCKTools.RunFunction(FCK.ToolbarSet.RefreshModeState, FCK.ToolbarSet);};FCK.CreateElement=function(tag){var e=FCK.EditorDocument.createElement(tag);return FCK.InsertElementAndGetIt(e);};FCK.InsertElementAndGetIt=function(e){e.setAttribute('FCKTempLabel', 'true');this.InsertElement(e);var aEls=FCK.EditorDocument.getElementsByTagName(e.tagName);for (var i=0 ; i < aEls.length ; i++){if (aEls[i].getAttribute( 'FCKTempLabel' )){aEls[i].removeAttribute('FCKTempLabel');return aEls[i];};};return null;};
FCK._BaseGetNamedCommandState=FCK.GetNamedCommandState;FCK.GetNamedCommandState=function(commandName){switch (commandName){case 'Unlink':return FCKSelection.HasAncestorNode('A')?FCK_TRISTATE_OFF:FCK_TRISTATE_DISABLED;default:return FCK._BaseGetNamedCommandState(commandName);};};FCK.RedirectNamedCommands={Print:true,Paste:true,Cut:true,Copy:true};FCK.ExecuteRedirectedNamedCommand=function(commandName,commandParameter){switch (commandName){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(commandName,commandParameter);};};FCK.AttachToOnSelectionChange=function(functionPointer){this.Events.AttachEvent('OnSelectionChange',functionPointer);};FCK.Paste=function(){if (FCKConfig.ForcePasteAsPlainText){FCK.PasteAsPlainText();return false;}else return true;};FCK.InsertHtml=function(html){html=FCKConfig.ProtectedSource.Protect(html);html=FCK.ProtectUrls(html);var oSel=FCKSelection.Delete();var oRange=oSel.getRangeAt(0);var oFragment=oRange.createContextualFragment(html);var oLastNode=oFragment.lastChild;oRange.insertNode(oFragment);FCKSelection.SelectNode(oLastNode);FCKSelection.Collapse(false);this.Focus();};FCK.InsertElement=function(element){var oSel=FCKSelection.Delete();var oRange=oSel.getRangeAt(0);oRange.insertNode(element);FCKSelection.SelectNode(element);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(url){FCK.ExecuteNamedCommand('Unlink');if (url.length>0){var sTempUrl='javascript:void(0);/*'+(new Date().getTime())+'*/';FCK.ExecuteNamedCommand('CreateLink',sTempUrl);var oLink=document.evaluate("//a[@href='"+sTempUrl+"']",this.EditorDocument.body,null,9,null).singleNodeValue;if (oLink){oLink.href=url;return oLink;};};};
var FCKSelection=FCK.Selection=new Object();
FCKSelection.GetType=function(){this._Type='Text';var oSel;try { oSel=FCK.EditorWindow.getSelection();}catch (e) {};if (oSel&&oSel.rangeCount==1){var oRange=oSel.getRangeAt(0);if (oRange.startContainer==oRange.endContainer&&(oRange.endOffset-oRange.startOffset)==1&&oRange.startContainer.nodeType!=Node.TEXT_NODE) this._Type='Control';};return this._Type;};FCKSelection.GetSelectedElement=function(){if (this.GetType()=='Control'){var oSel=FCK.EditorWindow.getSelection();return oSel.anchorNode.childNodes[oSel.anchorOffset];};};FCKSelection.GetParentElement=function(){if (this.GetType()=='Control') return FCKSelection.GetSelectedElement().parentNode;else{var oSel=FCK.EditorWindow.getSelection();if (oSel){var oNode=oSel.anchorNode;while (oNode&&oNode.nodeType!=1) oNode=oNode.parentNode;return oNode;};};};FCKSelection.SelectNode=function(element){var oRange=FCK.EditorDocument.createRange();oRange.selectNode(element);var oSel=FCK.EditorWindow.getSelection();oSel.removeAllRanges();oSel.addRange(oRange);};FCKSelection.Collapse=function(toStart){var oSel=FCK.EditorWindow.getSelection();if (toStart==null||toStart===true) oSel.collapseToStart();else oSel.collapseToEnd();};FCKSelection.HasAncestorNode=function(nodeTagName){var oContainer=this.GetSelectedElement();if (!oContainer&&FCK.EditorWindow){try { oContainer=FCK.EditorWindow.getSelection().getRangeAt(0).startContainer;}catch(e){};};while (oContainer){if (oContainer.nodeType==1&&oContainer.tagName==nodeTagName) return true;oContainer=oContainer.parentNode;};return false;};FCKSelection.MoveToAncestorNode=function(nodeTagName){var oNode;var oContainer=this.GetSelectedElement();if (!oContainer) oContainer=FCK.EditorWindow.getSelection().getRangeAt(0).startContainer;while (oContainer){if (oContainer.tagName==nodeTagName) return oContainer;oContainer=oContainer.parentNode;};return null;};FCKSelection.Delete=function(){var oSel=FCK.EditorWindow.getSelection();for (var i=0;i<oSel.rangeCount;i++){oSel.getRangeAt(i).deleteContents();};return oSel;};
var FCKPanel=function(){};FCKPanel.prototype.Create=function(){this.PanelDiv=window.parent.document.createElement('DIV');this.PanelDiv.style.visibility='hidden';this.PanelDiv.className='FCK_Panel';this.PanelDiv.style.zIndex=10000;this.PanelDiv.oncontextmenu=function() { return false;};window.parent.document.body.appendChild(this.PanelDiv);if (this.CreatePanelBody) this.CreatePanelBody(window.parent.document,this.PanelDiv);this.Created=true;};FCKPanel.prototype.Show=function(panelX,panelY){if (!this.Created) this.Create();this.PanelDiv.style.left=panelX+'px';this.PanelDiv.style.top=panelY+'px';var oActualWindow=FCK.EditorWindow;while (oActualWindow){oActualWindow.document.addEventListener('click',this._OnDocumentClick,false);if (oActualWindow!=oActualWindow.parent) oActualWindow=oActualWindow.parent;else if (oActualWindow.opener==null) oActualWindow=oActualWindow.opener;else break;};this.PanelDiv.style.visibility='';FCK.ActivePanel=this;};FCKPanel.prototype._OnDocumentClick=function(event){if (!FCK.ActivePanel) return;var e=event.target;while (e){if (e==FCK.ActivePanel.PanelDiv) return;e=e.parentNode;};FCK.ActivePanel.Hide();};FCKPanel.prototype.Hide=function(){this.PanelDiv.style.visibility='hidden';this.PanelDiv.style.left=this.PanelDiv.style.top='1px';delete FCK.ActivePanel;};
var FCKTableHandler=new Object();FCKTableHandler.InsertRow=function(){var oRow=FCKSelection.MoveToAncestorNode("TR");if (!oRow) return;var oNewRow=oRow.cloneNode(true);oRow.parentNode.insertBefore(oNewRow,oRow);FCKTableHandler.ClearRow(oRow);};FCKTableHandler.DeleteRows=function(row){if (!row) row=FCKSelection.MoveToAncestorNode("TR");if (!row) return;var oTable=FCKTools.GetElementAscensor(row,'TABLE');if (oTable.rows.length==1){FCKTableHandler.DeleteTable(oTable);return;};row.parentNode.removeChild(row);};FCKTableHandler.DeleteTable=function(table){if (!table){var table=FCKSelection.GetSelectedElement();if (!table||table.tagName!='TABLE') table=FCKSelection.MoveToAncestorNode("TABLE");};if (!table) return;FCKSelection.SelectNode(table);FCKSelection.Collapse();table.parentNode.removeChild(table);};FCKTableHandler.InsertColumn=function(){var oCell=FCKSelection.MoveToAncestorNode("TD");if (!oCell) oCell=FCKSelection.MoveToAncestorNode("TH");if (!oCell) return;var oTable=FCKTools.GetElementAscensor(oCell,'TABLE');var iIndex=oCell.cellIndex+1;for (var i=0;i<oTable.rows.length;i++){var oRow=oTable.rows[i];if (oRow.cells.length<iIndex) continue;oCell=oRow.cells[iIndex-1].cloneNode(false);if (FCKBrowserInfo.IsGecko) oCell.innerHTML=GECKO_BOGUS;var oBaseCell=oRow.cells[iIndex];if (oBaseCell) oRow.insertBefore(oCell,oBaseCell);else oRow.appendChild(oCell);};};FCKTableHandler.DeleteColumns=function(){var oCell=FCKSelection.MoveToAncestorNode('TD')||FCKSelection.MoveToAncestorNode('TH');if (!oCell) return;var oTable=FCKTools.GetElementAscensor(oCell,'TABLE');var iIndex=oCell.cellIndex;for (var i=oTable.rows.length-1;i>=0;i--){var oRow=oTable.rows[i];if (iIndex==0&&oRow.cells.length==1){FCKTableHandler.DeleteRows(oRow);continue;};if (oRow.cells[iIndex]) oRow.removeChild(oRow.cells[iIndex]);};};FCKTableHandler.InsertCell=function(cell){var oCell=cell?cell:FCKSelection.MoveToAncestorNode("TD");if (!oCell) return;var oNewCell=FCK.EditorDocument.createElement("TD");if (FCKBrowserInfo.IsGecko) oNewCell.innerHTML=GECKO_BOGUS;if (oCell.cellIndex==oCell.parentNode.cells.length-1){oCell.parentNode.appendChild(oNewCell);}else{oCell.parentNode.insertBefore(oNewCell,oCell.nextSibling);};return oNewCell;};FCKTableHandler.DeleteCell=function(cell){if (cell.parentNode.cells.length==1){FCKTableHandler.DeleteRows(FCKTools.GetElementAscensor(cell,'TR'));return;};cell.parentNode.removeChild(cell);};FCKTableHandler.DeleteCells=function(){var aCells=FCKTableHandler.GetSelectedCells();for (var i=aCells.length-1;i>=0;i--){FCKTableHandler.DeleteCell(aCells[i]);};};FCKTableHandler.MergeCells=function(){var aCells=FCKTableHandler.GetSelectedCells();if (aCells.length<2) return;if (aCells[0].parentNode!=aCells[aCells.length-1].parentNode) return;var iColSpan=isNaN(aCells[0].colSpan)?1:aCells[0].colSpan;var sHtml='';var oCellsContents=FCK.EditorDocument.createDocumentFragment();for (var i=aCells.length-1;i>=0;i--){var eCell=aCells[i];for (var c=eCell.childNodes.length-1;c>=0;c--){var eChild=eCell.removeChild(eCell.childNodes[c]);if ((eChild.hasAttribute&&eChild.hasAttribute('_moz_editor_bogus_node'))||(eChild.getAttribute&&eChild.getAttribute('type',2)=='_moz')) continue;oCellsContents.insertBefore(eChild,oCellsContents.firstChild);};if (i>0){iColSpan+=isNaN(eCell.colSpan)?1:eCell.colSpan;FCKTableHandler.DeleteCell(eCell);};};aCells[0].colSpan=iColSpan;if (FCKBrowserInfo.IsGecko&&oCellsContents.childNodes.length==0) aCells[0].innerHTML=GECKO_BOGUS;else aCells[0].appendChild(oCellsContents);};FCKTableHandler.SplitCell=function(){var aCells=FCKTableHandler.GetSelectedCells();if (aCells.length!=1) return;var aMap=this._CreateTableMap(aCells[0].parentNode.parentNode);var iCellIndex=FCKTableHandler._GetCellIndexSpan(aMap,aCells[0].parentNode.rowIndex,aCells[0]);var aCollCells=this._GetCollumnCells(aMap,iCellIndex);for (var i=0;i<aCollCells.length;i++){if (aCollCells[i]==aCells[0]){var oNewCell=this.InsertCell(aCells[0]);if (!isNaN(aCells[0].rowSpan)&&aCells[0].rowSpan>1) oNewCell.rowSpan=aCells[0].rowSpan;}else{if (isNaN(aCollCells[i].colSpan)) aCollCells[i].colSpan=2;else aCollCells[i].colSpan+=1;};};};FCKTableHandler._GetCellIndexSpan=function(tableMap,rowIndex,cell){if (tableMap.length<rowIndex+1) return null;var oRow=tableMap[rowIndex];for (var c=0;c<oRow.length;c++){if (oRow[c]==cell) return c;};return null;};FCKTableHandler._GetCollumnCells=function(tableMap,collumnIndex){var aCollCells=new Array();for (var r=0;r<tableMap.length;r++){var oCell=tableMap[r][collumnIndex];if (oCell&&(aCollCells.length==0||aCollCells[aCollCells.length-1]!=oCell)) aCollCells[aCollCells.length]=oCell;};return aCollCells;};FCKTableHandler._CreateTableMap=function(table){var aRows=table.rows;var r=-1;var aMap=new Array();for (var i=0;i<aRows.length;i++){r++;if (!aMap[r]) aMap[r]=new Array();var c=-1;for (var j=0;j<aRows[i].cells.length;j++){var oCell=aRows[i].cells[j];c++;while (aMap[r][c]) c++;var iColSpan=isNaN(oCell.colSpan)?1:oCell.colSpan;var iRowSpan=isNaN(oCell.rowSpan)?1:oCell.rowSpan;for (var rs=0;rs<iRowSpan;rs++){if (!aMap[r+rs]) aMap[r+rs]=new Array();for (var cs=0;cs<iColSpan;cs++){aMap[r+rs][c+cs]=aRows[i].cells[j];};};c+=iColSpan-1;};};return aMap;};FCKTableHandler.ClearRow=function(tr){var aCells=tr.cells;for (var i=0;i<aCells.length;i++){if (FCKBrowserInfo.IsGecko) aCells[i].innerHTML=GECKO_BOGUS;else aCells[i].innerHTML='';};};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -