1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 2<!-- 3 * FCKeditor - The text editor for Internet - http://www.fckeditor.net 4 * Copyright (C) 2003-2007 Frederico Caldeira Knabben 5 * 6 * == BEGIN LICENSE == 7 * 8 * Licensed under the terms of any of the following licenses at your 9 * choice: 10 * 11 * - GNU General Public License Version 2 or later (the "GPL") 12 * http://www.gnu.org/licenses/gpl.html 13 * 14 * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") 15 * http://www.gnu.org/licenses/lgpl.html 16 * 17 * - Mozilla Public License Version 1.1 or later (the "MPL") 18 * http://www.mozilla.org/MPL/MPL-1.1.html 19 * 20 * == END LICENSE == 21 * 22 * This is the Debug window. 23 * It automatically popups if the Debug = true in the configuration file. 24--> 25<html xmlns="http://www.w3.org/1999/xhtml"> 26<head> 27 <title>FCKeditor Debug Window</title> 28 <meta name="robots" content="noindex, nofollow" /> 29 <script type="text/javascript"> 30 31var oWindow ; 32var oDiv ; 33 34if ( !window.FCKMessages ) 35 window.FCKMessages = new Array() ; 36 37window.onload = function() 38{ 39 oWindow = document.getElementById('xOutput').contentWindow ; 40 oWindow.document.open() ; 41 oWindow.document.write( '<div id="divMsg"><\/div>' ) ; 42 oWindow.document.close() ; 43 oDiv = oWindow.document.getElementById('divMsg') ; 44} 45 46function Output( message, color, noParse ) 47{ 48 if ( !noParse && message != null && isNaN( message ) ) 49 message = message.replace(/</g, "<") ; 50 51 if ( color ) 52 message = '<font color="' + color + '">' + message + '<\/font>' ; 53 54 window.FCKMessages[ window.FCKMessages.length ] = message ; 55 StartTimer() ; 56} 57 58function OutputObject( anyObject, color ) 59{ 60 var message ; 61 62 if ( anyObject != null ) 63 { 64 message = 'Properties of: ' + anyObject + '</b><blockquote>' ; 65 66 for (var prop in anyObject) 67 { 68 try 69 { 70 var sVal = anyObject[ prop ] != null ? anyObject[ prop ] + '' : '[null]' ; 71 message += '<b>' + prop + '</b> : ' + sVal.replace(/</g, '<') + '<br>' ; 72 } 73 catch (e) 74 { 75 try 76 { 77 message += '<b>' + prop + '</b> : [' + typeof( anyObject[ prop ] ) + ']<br>' ; 78 } 79 catch (e) 80 { 81 message += '<b>' + prop + '</b> : [-error-]<br>' ; 82 } 83 } 84 } 85 86 message += '</blockquote><b>' ; 87 } else 88 message = 'OutputObject : Object is "null".' ; 89 90 Output( message, color, true ) ; 91} 92 93function StartTimer() 94{ 95 window.setTimeout( 'CheckMessages()', 100 ) ; 96} 97 98function CheckMessages() 99{ 100 if ( window.FCKMessages.length > 0 ) 101 { 102 // Get the first item in the queue 103 var sMessage = window.FCKMessages[0] ; 104 105 // Removes the first item from the queue 106 var oTempArray = new Array() ; 107 for ( i = 1 ; i < window.FCKMessages.length ; i++ ) 108 oTempArray[ i - 1 ] = window.FCKMessages[ i ] ; 109 window.FCKMessages = oTempArray ; 110 111 var d = new Date() ; 112 var sTime = 113 ( d.getHours() + 100 + '' ).substr( 1,2 ) + ':' + 114 ( d.getMinutes() + 100 + '' ).substr( 1,2 ) + ':' + 115 ( d.getSeconds() + 100 + '' ).substr( 1,2 ) + ':' + 116 ( d.getMilliseconds() + 1000 + '' ).substr( 1,3 ) ; 117 118 var oMsgDiv = oWindow.document.createElement( 'div' ) ; 119 oMsgDiv.innerHTML = sTime + ': <b>' + sMessage + '<\/b>' ; 120 oDiv.appendChild( oMsgDiv ) ; 121 oMsgDiv.scrollIntoView() ; 122 } 123} 124 125function Clear() 126{ 127 oDiv.innerHTML = '' ; 128} 129 </script> 130</head> 131<body style="margin: 10px"> 132 <table style="height: 100%" cellspacing="5" cellpadding="0" width="100%" border="0"> 133 <tr> 134 <td> 135 <table cellspacing="0" cellpadding="0" width="100%" border="0"> 136 <tr> 137 <td style="font-weight: bold; font-size: 1.2em;"> 138 FCKeditor Debug Window</td> 139 <td align="right"> 140 <input type="button" value="Clear" onclick="Clear();" /></td> 141 </tr> 142 </table> 143 </td> 144 </tr> 145 <tr style="height: 100%"> 146 <td style="border: #696969 1px solid"> 147 <iframe id="xOutput" width="100%" height="100%" scrolling="auto" src="javascript:void(0)" 148 frameborder="0"></iframe> 149 </td> 150 </tr> 151 </table> 152</body> 153</html> 154