<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <!-- * FCKeditor - The text editor for Internet - http://www.fckeditor.net * Copyright (C) 2003-2009 Frederico Caldeira Knabben * * == BEGIN LICENSE == * * Licensed under the terms of any of the following licenses at your * choice: * * - GNU General Public License Version 2 or later (the "GPL") * http://www.gnu.org/licenses/gpl.html * * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") * http://www.gnu.org/licenses/lgpl.html * * - Mozilla Public License Version 1.1 or later (the "MPL") * http://www.mozilla.org/MPL/MPL-1.1.html * * == END LICENSE == * * This is the sample "Find" plugin window. --> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta content="noindex, nofollow" name="robots"> <script type="text/javascript"> var oEditor = window.parent.InnerDialogLoaded() ; function OnLoad() { // Whole word is available on IE only. if ( oEditor.FCKBrowserInfo.IsIE ) document.getElementById('divWord').style.display = '' ; // First of all, translate the dialog box texts. oEditor.FCKLanguageManager.TranslatePage( document ) ; window.parent.SetAutoSize( true ) ; } function btnStat(frm) { document.getElementById('btnFind').disabled = ( document.getElementById('txtFind').value.length == 0 ) ; } function ReplaceTextNodes( parentNode, regex, replaceValue, replaceAll ) { for ( var i = 0 ; i < parentNode.childNodes.length ; i++ ) { var oNode = parentNode.childNodes[i] ; if ( oNode.nodeType == 3 ) { var sReplaced = oNode.nodeValue.replace( regex, replaceValue ) ; if ( oNode.nodeValue != sReplaced ) { oNode.nodeValue = sReplaced ; if ( ! replaceAll ) return true ; } } else { if ( ReplaceTextNodes( oNode, regex, replaceValue ) ) return true ; } } return false ; } function GetRegexExpr() { if ( document.getElementById('chkWord').checked ) var sExpr = '\\b' + document.getElementById('txtFind').value + '\\b' ; else var sExpr = document.getElementById('txtFind').value ; return sExpr ; } function GetCase() { return ( document.getElementById('chkCase').checked ? '' : 'i' ) ; } function Ok() { if ( document.getElementById('txtFind').value.length == 0 ) return ; if ( oEditor.FCKBrowserInfo.IsIE ) FindIE() ; else FindGecko() ; } var oRange = null ; function FindIE() { if ( oRange == null ) oRange = oEditor.FCK.EditorDocument.body.createTextRange() ; var iFlags = 0 ; if ( chkCase.checked ) iFlags = iFlags | 4 ; if ( chkWord.checked ) iFlags = iFlags | 2 ; var bFound = oRange.findText( document.getElementById('txtFind').value, 1, iFlags ) ; if ( bFound ) { oRange.scrollIntoView() ; oRange.select() ; oRange.collapse(false) ; oLastRangeFound = oRange ; } else { oRange = null ; alert( oEditor.FCKLang.DlgFindNotFoundMsg ) ; } } function FindGecko() { var bCase = document.getElementById('chkCase').checked ; var bWord = document.getElementById('chkWord').checked ; // window.find( searchString, caseSensitive, backwards, wrapAround, wholeWord, searchInFrames, showDialog ) ; oEditor.FCK.EditorWindow.find( document.getElementById('txtFind').value, bCase, false, false, bWord, false, false ) ; } </script> </head> <body onload="OnLoad()" scroll="no" style="OVERFLOW: hidden"> <div align="center"> This is my Plugin! </div> <table cellSpacing="3" cellPadding="2" width="100%" border="0"> <tr> <td nowrap> <label for="txtFind" fckLang="DlgMyReplaceFindLbl">Find what:</label>&nbsp; </td> <td width="100%"> <input id="txtFind" onkeyup="btnStat(this.form)" style="WIDTH: 100%" tabIndex="1" type="text"> </td> <td> <input id="btnFind" style="WIDTH: 100%; PADDING-RIGHT: 5px; PADDING-LEFT: 5px" disabled onclick="Ok();" type="button" value="Find" fckLang="DlgMyFindFindBtn"> </td> </tr> <tr> <td valign="bottom" colSpan="3"> &nbsp;<input id="chkCase" tabIndex="3" type="checkbox"><label for="chkCase" fckLang="DlgMyReplaceCaseChk">Match case</label> <br> <div id="divWord" style="DISPLAY: none"> &nbsp;<input id="chkWord" tabIndex="4" type="checkbox"><label for="chkWord" fckLang="DlgMyReplaceWordChk">Match whole word</label> </div> </td> </tr> </table> </body> </html>