summaryrefslogtreecommitdiffstats
path: root/khtml/ecma/jsk.html
diff options
context:
space:
mode:
Diffstat (limited to 'khtml/ecma/jsk.html')
-rw-r--r--khtml/ecma/jsk.html113
1 files changed, 113 insertions, 0 deletions
diff --git a/khtml/ecma/jsk.html b/khtml/ecma/jsk.html
new file mode 100644
index 000000000..917c083e8
--- /dev/null
+++ b/khtml/ecma/jsk.html
@@ -0,0 +1,113 @@
+<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);
+ var fieldvalue = "";
+ if (typeof(result) != "undefined") {
+ for (i in result) {
+ var tuedel = "";
+ var propval = result[i];
+ if (typeof(propval) == "string") {
+ tuedel = '"';
+ }
+ fieldvalue +=
+ i
+ + " [" + typeof(propval) + "] = "
+ + tuedel + propval + tuedel + "\n";
+ }
+ fo.field.value = fieldvalue;
+ }
+}
+
+
+</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>&nbsp;</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> being 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>