| <html> |
| <!-- |
| Javascript Konsole (c) 2001 Till Krech <till@snafu.de> |
| Dieser Code unterliegt den Bedingungen der Gnu Public License Version 2. |
| --> |
| <head> |
| <title>Javascript Konsole</title> |
| <style type="text/css"> |
| code { |
| color:#444488; |
| } |
| em { |
| font-weight: bold; |
| } |
| </style> |
| <script language="JavaScript"> |
| |
| function do_eval() { |
| var fo = document.forms.fo; |
| fo.restyp.value = ""; |
| fo.field.value = ""; |
| var fo = document.fo; |
| var expr = fo.zeile.value; |
| var result = eval(expr); |
| fo.restyp.value = typeof(result); |
| var tuedel = ""; |
| if (typeof(result) == "string") { |
| tuedel = '"'; |
| } |
| fo.field.value = tuedel + result + tuedel; |
| } |
| |
| function do_properties() { |
| var fo = document.forms.fo; |
| fo.restyp.value = ""; |
| fo.field.value = ""; |
| var fo = document.fo; |
| var expr = fo.zeile.value; |
| var result = eval(expr); |
| var i; |
| fo.restyp.value = typeof(result); |
| if (typeof(result) != "undefined") { |
| for (i in result) { |
| var tuedel = ""; |
| var propval = result[i]; |
| if (typeof(propval) == "string") { |
| tuedel = '"'; |
| } |
| fo.field.value += |
| i |
| + " [" + typeof(propval) + "] = " |
| + tuedel + propval + tuedel + "\n"; |
| } |
| |
| } |
| } |
| |
| |
| </script> |
| </head> |
| <body bgcolor="#dddddd"> |
| <h1>JavaScript Konsole</h1> |
| <form name="fo"> |
| <table bgcolor="#cccccc" cellspacing="1" cellpadding="8"> |
| <tr bgcolor="#ffeeee"><th height="40" align="right">Expression</th><td><input name="zeile" type="text" size="60"></td></tr> |
| <tr bgcolor="#eeeeee"><th align="right">Result Type</th><td><input name="restyp" readonly type="text" size="60"></td></tr> |
| <tr bgcolor="#eeeeee"><th align="right">Result(s)</th><td><textarea readonly name="field" rows="10" cols="60"></textarea></td></tr> |
| <tr bgcolor="#ffeeee"><td> </td><td> |
| <input type="button" value="list properties" onclick="do_properties()"> |
| <input type="button" value="evaluate" onclick="do_eval()"> |
| <input type="reset" value="clear fields" |
| </td></tr> |
| </table> |
| </form> |
| <h2>Explanation</h2> |
| <h3>Operation</h3> |
| <blockquote> |
| When <em>evaluate</em> is pressed, the given expression is evaluated and the result is displayed in the result(s) field. |
| In case of <em>list properties</em> beeing pressed, the result of the expression is taken as an object |
| and the objects properties are displayed with their type and value in the the result(s) field. |
| </blockquote> |
| <h3>Expression</h3> |
| <blockquote> |
| Expression must be a valid javascript expression, e.g.<br><code>window</code> |
| <br>or<br><code>document.body.innerHTML</code><br>or<br> |
| <code>"Today: " + (new Date()).toString()</code><br> |
| or<br> |
| <code>"Cablecar".match(/ab.*c/)</code> |
| <br>It is also possible to assign a value, |
| e.g.<br><code>document.getElementsByTagName('H1').item(0).innerText="Hello World"</code><br> |
| You may execute these examples by pasting them into the expression field. |
| </blockquote> |
| <h3>Result Type</h3> |
| <blockquote> |
| The type of the result of the given expression. |
| </blockquote> |
| <h3>Result(s)</h3> |
| <blockquote> |
| The result of the expression is implicitly converted to a primitive type by the javascript interpreter, |
| if <em>evaluate</em> was pressed. When <em>list properties</em> was pressed, a <code>for (var i in obj)</code> loop |
| is executed to list the properties. These object properties are in turn evaluated and their types and values |
| are displayed. |
| </blockquote> |
| <p> |
| <a href="mailto:till@snafu.de?subject=JavaScript%20Konsole">Till Krech</a> |
| </p> |
| <p> |
| <br> |
| </p> |
| |
| </body> |
| </html> |