<!--********************************************************************* * * * Sample JavaScript Program * * * **********************************************************************--> <html> <head> <title>JavaScript</title> <!--********************************************************************* * * * Reserved Words: * * * * JavaScript: * * break else in this * * case false new typeof * * continue for null var * * default function return while * * delete goto switch with * * do if true * * * * Java Not Used: * * * * abstract final native synchronized * * boolean finally package throw * * byte float private throws * * catch implements protected transient * * char import public try * * class instanceof reset void * * const int short (volatile) * * double interface static * * extends long super * * * **********************************************************************--> <!--********************************************************************* * * * Hiding from non-script browsers: * * * **********************************************************************--> <script language="JavaScript"> <!-- /* Hidden from old browsers.*/ //--> </script> <noscript> Hidden From script-enabled browsers. </noscript> <!--********************************************************************* * * * Include Files * * * **********************************************************************--> <script language="JavaScript" src="jsinclude.js"> </script> <script language="JavaScript"> /************************************************************************ * * * Constants: * * * ************************************************************************/ var TRUE = 1; var FALSE = 0; var DEBUG = TRUE; var PI = 3.14; var PISQUARE = PI*PI; /************************************************************************ * * * Global Variables: * * * ************************************************************************/ var gseg; var xseg = 1234; /************************************************************************ * * * HTML Entry Point: * * * ************************************************************************/ document.write("Hello World!<br>"); </script> </head> <!--********************************************************************* * * * Document Level Events: * * * **********************************************************************--> <body onblur="rs('onblur(window NC3)')" ondragdrop="rq('ondragdrop(window)')" onerror="rq('onerror(window)')" onfocus="rs('onfocus(window NC3)')" onload="rs('onload(window NC3)')" onmove="rs('onmove(window NC4)')" onresize="rs('onresize(window NC4)')" onunload="rs('onunload(window NC3)')"> <script language="JavaScript"> /************************************************************************ * * * Storage Types: * * * ************************************************************************/ function StorageTypes() { var gseg = 1234; // variables are either global or local in scope var x; x = 1; // type assignment is automatic x = 2.2; x = "3" x = true; x = null; x = navigator; x = alert; document.write("<br><hr><br><u>Storage Types</u><br>"); document.write("typeof(1) = " + typeof(1) + "<br>"); document.write("typeof(2.2) = " + typeof(2.2) + "<br>"); document.write("typeof(\"3\") = " + typeof("3") + "<br>"); document.write("typeof(true) = " + typeof(true) + "<br>"); document.write("typeof(NothingAtAll) = " + typeof(NothingAtAll) + "<br>"); document.write("typeof(null) = " + typeof(null) + "<br>"); document.write("typeof(alert) = " + typeof(alert) + "<br>"); document.write("typeof(navigator) = " + typeof(navigator) + "<br>"); } StorageTypes(); /************************************************************************ * * * Operators: * * * * [] array subscript == equal * * . class member != not equal * * () call & bitwise and * * ! logical not ^ bitwise xor * * ~ one's complement | bitwise or * * + unary plus && logical and * * - unary minus || logical or * * ++ increment ?: conditional if?then:else * * -- decrement = assign * * (type) type cast *= compound assign * * * multiply /= * * / divide %= * * % modulus += * * + add -= * * - subtract &= * * << left shift ^= * * >> right shift |= * * >>> <<= * * < less than >>= * * <= less than or equal >>>= * * > greater than , comma * * >= greater than or equal * * * ************************************************************************/ function Operators() { var b=0; var i=0; var j=0; var x=0; i = 5; // simple assignment: i = 1; i = j = 3; // compound assignment: j = 3; i = j; i = (j = 1) + 2; // parenthesis precedence: j = 1; i = j + 2; i = 3 + 2; // add: i = 5; i = (5) % (3); // mod: i = 2; i = ++j; // pre-increment: j = j + 1; i = j; i = --j; // pre-decrement: j = j - 1; i = j; i = j++; // post-increment: i = j; j = j + 1; i = j--; // post-decrement: i = j; j = j - 1; i += j; // i = i + j; i -= j; // i = i - j; i *= j; // i = i * j; i /= j; // i = i / j; i %= j; // i = i % j; i <<= j; // i = i << j; i >>= j; // i = i >> j; i >>>= j; // i = i >>> j; i &= j; // i = i & j; i ^= j; // i = i ^ j; i |= j; // i = i | j; b = (i == 0); // equal b = (i < 0); // less than b = (i <= 0); // less than or equal b = (i > 0); // greater than b = (i >= 0); // greater than or equal b = (i != 0); // not equal i = j & 1; // bitwise and i = j ^ 1; // bitwise xor i = j | 1; // bitiwise or if (i === i) alert("A"); // identity operator added in 1.3 } Operators(); /************************************************************************ * * * Built-In Functions: * * * ************************************************************************/ function BuiltIn() { var i; var x; var s; var b; i = parseInt("3.14", 10); // cast operator: i = 3; x = parseFloat("3"); // cast operator: x = 3.0; i = eval("3 * 2"); // cast operator: i = 6; s = escape("ab ?>"); // return encoding value of string: s = "ab%20%3F%3E"; s = unescape("ab%20%3F%3E"); // unencode value of string: s = "ab ?>"; b = isNaN(i); // test if is not-a-number /* taint() */ /* untaint() */ } BuiltIn(); /************************************************************************ * * * Flow Control: * * * ************************************************************************/ function FlowControl() { var i = 0; var j = 0; var b = false; if (b) { // if then else j = 1; } else { j = 2; } while (i != 0) { // while loop i = i - 1; if (b) continue; break; } for (i = 0; i < 4; i++) { // for loop j = j + 1; if (b) continue; break; } for (i in navigator) { // for-in loop j = j + 1 if (b) continue; } for (x in document) { document.write(x + "<br>"); } i = b ? 1: 2; // if then else ternary b ? i=1: i=2; /* do while, switch case, and break label only available on NC4 1.2 do { // do while loop i = i + 1; break; if (b) continue; } while (i < 10); switch (i) { // switch case case 0: j = 1; break; default: j = 3; break; } mybreak1: while (i != 0) { // labelled break/continue break mybreak1; continue mybreak1; } */ } FlowControl(); document.write("<br><hr><br><u>Event Handlers</u>"); </script> <!--********************************************************************* * * * event handlers: * * * * JavaScript1.0 * * onblur onfocus onmouseover onsubmit * * onchange onload onselect onunload * * onclick * * * * JavaScript1.1 * * onabort onerror onmouseout onreset * * * * JavaScript1.2 * * ondragdrop onkeyup onmousemove onmove * * onkeydown onmousedown onmouseup onresize * * onkeypress * * * **********************************************************************--> <form name="myForm" onsubmit="rs('onsubmit(form)')" onreset="rs('onreset(form 1.1)')"> <!-- anchor event handlers --> <a href="javascript.htm" name="myAnchor" onblur="rs('onblur(anchor IE4)')" onfocus="rs('onfocus(anchor IE4)')" onkeydown="rq('onkeydown(anchor NC4)')" onkeypress="rq('onkeypress(anchor NC4)')" onkeyup="rq('onkeyup(anchor NC4)')" onmousedown="rs('onmousedown(anchor 1.2)')" onmouseout="rs('onmouseout(anchor 1.1)')" onmouseover="rs('onmouseover(anchor 1.0)')" onmouseup="rs('onmouseup(anchor IE4)')">Anchor Me</a><br> <!-- button event handlers --> <input type="button" name="myButton" value="Click Me" onblur="rs('onblur(button 1.1)')" onclick="rs('onclick(button 1.0)')" onfocus="rs('onfocus(button 1.1)')" onmousedown="rs('onmousedown(button 1.2)')" onmouseup="rs('onmouseup(button 1.2)')" onmouseover="rs('onmouseover(button IE4)')"><br> <!-- checkbox event handlers --> <input type="checkbox" name="myCheckBox" checked onblur="rs('onblur(checkbox 1.1)')" onclick="rs('onclick(checkbox 1.0)')" onfocus="rs('onfocus(checkbox 1.1)')" onmousedown="rs('onmousedown(checkbox IE4)')" onmouseup="rs('onmouseup(checkbox IE4)')" onmouseover="rs('onmouseover(checkbox IE4)')">CheckBox Me<br> <!-- file event handlers --> <input type="file" name="myFile" value="File Me" onblur="rs('onblur(file 1.1)')" onchange="rs('onchange(file 1.0)')" onclick="rs('onclick(file 1.0)')" onfocus="rs('onfocus(file 1.1)')" onmousedown="rs('onmousedown(file 1.2)')" onmouseover="rs('onmouseover(file IE4)')" onmouseup="rs('onmouseup(reset 1.2)')"><br> <!-- hidden event handlers --> <input type="hidden" name="myHidden" value="Hidden Me"> <!-- image event handlers --> <img src="img1.gif" name="myImage" height="25" width="25" onabort="rq('onabort(image 1.1)')" onblur="rq('onblur(image 1.1)')" onclick="rq('onclick(image 1.0)')" onerror="rq('onerror(image 1.1)')" onfocus="rq('onfocus(image 1.1)')" onkeydown="rq('onkeydown(image 1.2)')" onkeypress="rq('onkeypress(image 1.2)')" onkeyup="rq('onkeyup(image 1.2)')" onmousedown="rs('onmousedown(image 1.2)')" onmouseup="rs('onmouseup(image 1.2)')" onmouseover="rq('onmouseover(image IE4)')"> <!-- password event handlers --> <input type="password" name="myPassword" value="Password Me" onblur="rs('onblur(password 1.1)')" onchange="rs('onchange(password IE4)')" onfocus="rs('onfocus(password 1.1)')" onmousedown="rs('onmousedown(password IE4)')" onmouseover="rs('onmouseover(password IE4)')" onmouseup="rs('onmouseup(password IE4)')" onselect="rs('onselect(password IE4)')"><br> <!-- radio event handlers --> <input type="radio" name="myRadio" value="radio1" checked onblur="rs('onblur(radio 1.1)')" onclick="rs('onclick(radio 1.0)')" onfocus="rs('onfocus(radio 1.1)')" onmousedown="rs('onmousedown(radio IE4)')" onmouseover="rs('onmouseover(radio IE4)')" onmouseup="rs('onmouseup(radio IE4)')">Radio Me #1 <input type="radio" name="myRadio" value="radio2" onblur="rs('onblur(radio 1.1)')" onclick="rs('onclick(radio 1.0)')" onfocus="rs('onfocus(radio 1.1)')" onmousedown="rs('onmousedown(radio IE4)')" onmouseover="rs('onmouseover(radio IE4)')" onmouseup="rs('onmouseup(radio IE4)')">Radio Me #2<br> <!-- reset event handlers --> <input type="reset" name="myReset" value="Reset Me" onblur="rs('onblur(reset 1.1)')" onclick="rs('onclick(reset 1.0)')" onfocus="rs('onfocus(reset 1.1)')" onmousedown="rs('onmousedown(reset IE4)')" onmouseover="rs('onmouseover(reset IE4)')" onmouseup="rs('onmouseup(reset IE4)')"><br> <!-- select drop-down event handlers --> <select name="mySelect" onblur="rs('onblur(select 1.1)')" onclick="rs('onclick(select 1.0)')" onfocus="rs('onfocus(select 1.1)')" onmousedown="rs('onmousedown(select IE4)')" onmouseover="rs('onmouseover(select IE4)')" onmouseup="rs('onmouseup(select IE4)')"> <option value="myItem1">Item1 <option value="myItem2">Item2 <option value="myItem3">Item3 <option value="myItem4">Item4 <option value="myItem5">Item5 </select><br> <!-- select list event handlers --> <select name="mySelect" size="3" multiple onblur="rs('onblur(select 1.1)')" onclick="rs('onclick(select 1.0)')" onfocus="rs('onfocus(select 1.1)')" onmousedown="rs('onmousedown(select IE4)')" onmouseover="rs('onmouseover(select IE4)')" onmouseup="rs('onmouseup(select IE4)')"> <option value="myItem1">Item1 <option value="myItem2">Item2 <option value="myItem3">Item3 <option value="myItem4">Item4 <option value="myItem5">Item5 </select><br> <!-- submit event handlers --> <input type="submit" name="mySubmit" value="Submit Me" onblur="rs('onblur(submit 1.1)')" onclick="rs('onclick(submit 1.0)')" onfocus="rs('onfocus(submit 1.1)')" onmousedown="rs('onmousedown(submit IE4)')" onmouseover="rs('onmouseover(submit IE4)')" onmouseup="rs('onmouseup(submit IE4)')"><br> <!-- text event handlers --> <input type="text" name="myText" value="Text Me" onblur="rs('onblur(text 1.0)')" onchange="rs('onchange(text 1.0)')" onfocus="rs('onfocus(text 1.0)')" onmousedown="rs('onmousedown(text IE4)')" onmouseover="rs('onmouseover(text IE4)')" onmouseup="rs('onmouseup(text IE4)')" onselect="rs('onselect(text 1.0)')"><br> <!-- textarea event handlers (WRAP=SOFT/HARD/NONE???) --> <textarea name="myTextArea" cols="20" rows="3" wrap="virtual" onblur="rs('onblur(textarea 1.0)')" onchange="rs('onchange(textarea 1.0)')" onfocus="rs('onfocus(textarea 1.0)')" onkeydown="rs('onkeydown(textarea 1.2)')" onkeypress="rs('onkeypress(textarea 1.2)')" onkeyup="rs('onkeyup(textarea 1.2)')" onmousedown="rs('onmousedown(textarea IE4)')" onmouseover="rs('onmouseover(textarea IE4)')" onmouseup="rs('onmouseup(textarea IE4)')" onselect="rs('onselect(textarea 1.0)')">TextArea Me</TEXTAREA><br> <script language="JavaScript"> /************************************************************************ * * * Objects: * * * ************************************************************************/ function makeObject(a, b) { this.a = a; // properties this.b = b; this.rs = rs; // methods } function Objects() { var mob = new makeObject(1, 2); // allocate new object var nob = { x: 15, y: 25, radius: 8 }; // object literal mob.c = 4; // dynamic property creation mob.a += 1; // accessing props/methods by name mob.b += 1; mob.c += 1; mob.rs("objects"); mob['a'] += 1; // accessing properties by index mob['b'] += 1; mob['c'] += 1; with (mob) { // with object construct a += 1; b += 1; c += 1; } delete mob; } Objects(); /************************************************************************ * * * Function Object: * * * * Properties: * * caller prototype * * * * Collections: * * arguments[i] * * * ************************************************************************/ function objFunction() { var s; /* Function properties */ Function.prototype.myProto = "hello" s = objFunction.caller; // calling function name for (var i = 0; i < arguments.length; i++) { s = objFunction.arguments[i]; // get variable function parameters } /* allocating new functions */ var myFunction = new Function("x", "y", "return(x+y);"); i = myFunction(2); document.myForm.myButton.onmouseover = new Function("rs('onmouseover(function)');"); /* Lambda functions */ var square = function(x) { return x * x; } } objFunction("a", "b"); /* recursion */ function factorial(n) { if (n == 1) { return (1); } else { return (n * factorial(n-1)); } } var i = factorial(5); /************************************************************************ * * * Array Object: * * * * Properties: * * length prototype * * * * Methods: * * join reverse sort * * * ************************************************************************/ function objArray() { var myArray = new Array(2); myArray[0] = 3; // true arrays are indexed from 0. myArray[1] = 2; myArray[2] = 1; // array automatically extended in size. /* array properties */ var i = myArray.length; Array.prototype.myProto = "hello" /* array methods */ var s = myArray.join(":"); // join all elements into 1 string with seperator myArray.sort(); // sort array myArray.reverse(); // reverse array order /* auto assign values to first 3 array elements */ myArray = new Array("a", "b", "c"); /* allocate object and assign properties */ myArray = new Array(0); myArray["a"] = 0; myArray["b"] = 1; /* two dimensional arrays */ var myArray1 = new Array(2); var myArray2 = new Array(3); var myArray = new Array(myArray1, myArray2); for (var i = 0; i < 2; i++) { for (var j = 0; j < 3; j++) { myArray[i][j] = 0; } } var urArray = [1,2,3]; // array literal } objArray(); /************************************************************************ * * * Simulated Arrays: * * * ************************************************************************/ function makeArray(n) { this.length = n; for (var i = 1; i <= n; i++) { this[i] = null; } return (this); } function SimulatedArrays() { var myArray = new makeArray(2); myArray[1] = 0; // index starts at for simulated arrays. length is at 0. myArray[2] = 0; myArray[3] = 0; // array automatically extended in size } SimulatedArrays(); /************************************************************************ * * * Boolean Object: * * * * Properties: * * prototype * * * * Methods: * * toString * * * ************************************************************************/ function objBoolean() { var b = true; /* Boolean properties */ Boolean.prototype.myProto = "hello" /* Boolean methods */ var s = b.toString(); } objBoolean(); /************************************************************************ * * * Number Object: * * * * Properties: * * MAX_VALUE NaN NEGATIVE_INFINITY * * MIN_VALUE prototype POSITIVE_INFINITY * * * * Methods: * * toString * * * ************************************************************************/ function objNumber() { var x; x = 07; // octal notation x = 0xf; // hex notation /* Number properties */ x = Number.MAX_VALUE; x = Number.MIN_VALUE; x = Number.NaN; x = Number.NEGATIVE_INFINITY; x = Number.POSITIVE_INFINITY; Number.prototype.myProto = "hello" /* Number methods */ var s = x.toString(); } objNumber(); /************************************************************************ * * * Math Object: * * * * Properties: * * E LOG2E PI SQRT1_2 * * LN2 LOG10E prototype SQRT2 * * LN10 * * * * Methods: * * abs ceil max round * * acos cos min sin * * asin exp pow sqrt * * atan floor random tan * * atan2 log * * * ************************************************************************/ function objMath() { var x; var y = 0.5; /* Math properties */ x = Math.E; // e ~= 2.718 x = Math.LN2; // ln(2) ~= 0.693 x = Math.LN10; // ln(10) ~= 2.302 x = Math.LOG2E; // log2(e) ~= 1.442 x = Math.LOG10E; // l0g10(e) ~= 0.434 x = Math.PI; // pi ~= 3.14 x = Math.SQRT1_2; // sqrt(1/2) ~= 0.707 x = Math.SQRT2; // sqrt(2) ~= 1.414 // Math.prototype.myProto = "hello" // not available on IE /* Math methods */ x = Math.abs(-1); // absolute value: x = 1; x = Math.ceil(2.2); // returns integer equal or above a number: x = 3; x = Math.exp(y); // e^^y x = Math.floor(2.8); // returns integer equal or below a number: x = 2; x = Math.log(y); // natural log: x = ln(y); x = Math.max(1,2); // max of two numbers: x = 2; x = Math.min(1,2); // min of two numbers: x = 1; x = Math.pow(x, y); // x^^y x = Math.random(); // random number between 0 and 1 x = Math.round(2.5); // integer round: x = 3; x = Math.sqrt(y); // square root x = Math.acos(y); // arccosine x = Math.asin(y); // arcsine x = Math.atan(y); // arctangent x = Math.atan2(y); x = Math.cos(y); // cosine x = Math.sin(y); // sine x = Math.tan(y); // tangent } objMath(); /************************************************************************ * * * String Object: * * * * Properties: * * length prototype * * * * Methods: * * anchor fontcolor match sub * * big fontsize replace substring * * blink indexOf small sup * * bold italics split toLowerCase * * charAt lastIndexOf strike toUpperCase * * fixed link valueOf * * * ************************************************************************/ function objString() { var i; var a; var s = "chris"; var myArray = new Array(0); /* String properties */ var i = s.length; // string length function: i = 5; String.prototype.myProto = "hello" /* String methods */ a = s.charAt(0); // character at index position in string (startpos=0) i = s.indexOf("i", 2); // search for character in string - (startpos=1) s.lastIndexOf("i",2); // search backwards (number of characters from end) i = s.match("hr"); // test if regular expression is in string s.replace("hr","r"); // replace pattern in string myArray = s.split(";"); // split string into an array (back out array join) a = s.substring(0,2); // return substring s.toLowerCase(s); // change string to lowercase s.toUpperCase(s); // change string to uppercase i = s.valueOf(); // convert to numeric s.big(); // big font s.blink(); // blinking font s.bold(); // bold font s.fixed(); // fixed-pitch font s.fontcolor("blue"); // font color s.fontsize("10"); // font size s.italics(); // italic font s.small(); // small font s.strike(); // strikethrough font s.sub(); // subscript font s.sup(); // superscript font s.anchor("myAnchor2"); // turn string into html anchor tag: ("anchorname") s.link("myLink"); // turn string into html href link tag /* operator manipulation */ s = "a" + "b"; // concat operation: s = "ab"; s = "19" + 60; // auto convert to string: s = "1960"; /* special characters */ s = "\\" // backslash s = "\'" // single quote s = "\"" // double quote s = "\t" // tab s = "\r" // carriage return s = "\b" // backspace s = "\f" // form feed s = "\n" // new line (may not work in win32? Use \r\n) } objString(); /************************************************************************ * * * Date Object: * * * * Properties: * * prototype * * * * Methods: * * getDate getSeconds setDate setTime * * getDay getTime setHours setYear * * getHours getTimezoneOffset setMinutes toGMTString * * getMinutes getYear setMonth toLocaleString * * getMonth parse setSeconds UTC * * * ************************************************************************/ function objDate() { var i; var s; var d = new Date(); /* Date properties */ Date.prototype.myProto = "hello" /* Date methods */ i = d.getDate(); // day of the month i = d.getDay(); // day of the week i = d.getHours(); // hour of the day i = d.getMinutes(); // minute of the hour i = d.getMonth(); // months of the year (startpos=0) i = d.getSeconds(); // seconds of the minute i = d.getTime(); // complete time (msecs since 1970) i = d.getTimezoneOffset(); // time zone offset (hours from GMT) i = d.getYear(); // year (2 digit) d.setDate(31); // set day of the month d.setHours(23); // set hour of day d.setMinutes(59); // set minutes of the hour d.setMonth(11); // set month of the year d.setSeconds(59); // set seconds of the minute d.setTime(10*180*12*59*59); // set complete time (msecs since 1970) d.setYear(99); // set year s = d.toGMTString(); // convert msec time to GMT time s = d.toLocaleString(); // convert msec time to locale time d = d.toString(); // convert to string same as toLocaleString d = new Date(Date.UTC(96,11,1,0,0,0)); // set to specific date: yy,mm,dd,hh,nn,ss } objDate(); /************************************************************************ * * * RegExp Object: * * * * Properties: * * $0,$1,...$9 * * * * Methods: * * compile exec * * * * Expressions: * * . match any single char * * i|j match i or j * * [ijk] match any of the enclosed chars * * [^ijk] match any of chars not enclosed * * ^ match to beginning of line * * $ match to end of line * * * match preceeding char 0 or more times * * + match preceeding char 1 or more times * * ? match preceeding char 0 or 1 times * * {i} match preceeding char exactly i times * * {i,} match preceeding char i or more times * * {i,j} match preceeding char i to j times * * (i) match and remember char * * /\#/ back reference * * \ next char is literal * * \f form feed * * \n line feed * * \r carriage return * * \t tab * * \v vertical tab * * /i/ ascii value: e.g. /0xA/ * * \b match word boundary * * \B match non-word boundary * * \d match digit * * \D match non-digit * * \s match white space * * \S match non-white space * * \w match any word char [A-Za-z0-9_] * * \W match any non-word char * * * ************************************************************************/ function objRegExp() { // p = new RegExp("*.htm","*.js"); /* RegExp properties */ /* RegExp methods */ } objRegExp(); /************************************************************************ * * * Navigator Object: * * * * Properties: * * appCodeName appVersion *platform userAgent * * appName *language * * * * Objects: * * mimetype_xxx plugin_xxx * * * * Collections: * * mimeTypes[i] plugins[i] * * * * Methods: * * javaEnabled taintEnabled * * (*NC4) * ************************************************************************/ function objNavigator() { var s; document.write("<br><hr><br><u>Navigator Object</u><br>"); ro(navigator, "navigator"); /* properties */ s = navigator.appCodeName; // browser code name s = navigator.appName; // browser name s = navigator.appVersion; // browser version s = navigator.userAgent; // header text sent from client to server if (nc >= 4) { s = navigator.language; // browser language s = navigator.platform; // browser os } } objNavigator(); /************************************************************************ * * * Window Object: * * * * Properties: * * closed location secure top * * defaultStatus name self window * * frameRate opener status * * length parent offscreenBuffering * * * * Collections: * * frames[i] * * * * Objects: * * crypto history navigator *statusbar * * document *locationbar *personalbar *toolbar * * frame_xxx *menubar *scrollbars * * * * Open Features: * * *alwaysLowered *hotkeys scrollbars *z-lock * * *alwaysRaised location status * * *dependent menubar titlebar * * directories resizeable toolbar * * * * Open Positioning: * * height *innerHeight *outerHeight {screenX} * * width *innerWidth *outerWidth {screenY} * * *{pageXOffset} *{pageYOffset} *{type=fullWindow} * * * * Methods: * * alert confirm *moveTo *routeEvent * * *back find open scroll * * blur focus print *scrollBy * * *captureEvents forward prompt *scrollTo * * *clearInterval *handleEvent *releaseEvents *setInterval * * clearTimeout home *resizeBy setTimeout * * close *moveBy *resizeTo stop * * (*NC4) * ************************************************************************/ function objWindow() { var i; var b; var s; document.write("<hr><br><u>Window Object</u><br>"); ro(window, "window"); /* properties */ b = closed; // test if window closed defaultStatus = "status"; // default status-bar message i = length; // number of frames in the window // location = "hello.htm"; // full url of document displayed by window s = name; // name assigned to window when opened s = opener; // window in which window.open loaded current window s = parent; // synonym for window containing current frame s = self.name; // synonym for current window or frame s = status; // status bar message s = top.name; // synonym for topmost window containing current frame if (nc >= 4) { i = innerHeight; // height/width of the browser window i = innerWidth; i = outerHeight; i = outerWidth; } /* methods */ /* user interface */ alert("Alert Me"); // alert dialog box var b = confirm("Confirm Me"); // ok/cancel dialog box var s = prompt("Prompt Me", "Default Value"); // text prompt dialog box status = "Status Bar Message"; // display status bar message /* window manipulation */ blur(); focus(); // scroll(500, 1); /* child windows */ var NewWin = open("hello.html", "NewWin", "scrollbars=no,toolbar=no,width=350,height=230"); NewWin.close(); // open and close browser window /* timer events */ var timerID = setTimeout("alert(\"Time Me\")",1000) // set single timer event clearTimeout(timerID); // clear timer event if (nc >= 4) { timerID = setInterval("alert(\"Time Me\")",5000) // set continuing timer event clearInterval(timerID); // clear timer event } if (nc >= 4) { /* toolbar buttons */ // back(); // move back // find(); // find dialog box // forward(); // move forward // home(); // load home page // print(); // print page // stop(); // stop load /* window level event handling */ /* captureEvents(); */ /* handleEvent(); */ /* releaseEvents(); */ /* routeEvent(); */ /* window positioning */ /* moveBy(); */ /* moveTo(); */ /* resizeBy(); */ /* resizeTo(); */ /* scrollBy(); */ /* scrollTo(); */ } } objWindow(); /************************************************************************ * * * History Object: * * * * Properties: * * current length next previous * * * * Methods: * * back forward go * * * ************************************************************************/ function objHistory() { var s; document.write("<hr><br><u>History Object</u><br>"); ro(history, "history"); /* history properties */ s = history.current; // current page url s = history.length; // length of history s = history.next; // next url s = history.previous; // previous url /* history methods */ // history.back(); // move back // history.forward(); // move forward // history.go(-1); // move back or forward n pages } objHistory(); /************************************************************************ * * * Document Object: * * * * Properties: * * alinkColor domain linkColor title * * bgColor fgColor location *URL * * cookie lastModified referrer vlinkColor * * * * Collections: * * anchors[i] forms[i] layers[i] *ids[i] * * applets[i] images[i] links[i] *tags[i] * * embeds[i] * * * * Objects: * * anchor_xxx *classes form_xxx layer_xxx * * applet_xxx embed_xxx image_xxx link_xxx * * area_xxx * * * * Methods: * * *caputureEvents *handleEvent *releaseEvents write * * close open *routeEvent writeln * * *getSelection * * (*NC4) * ************************************************************************/ function objDocument() { var i; var s; document.write("<hr><br><u>Document Object</u><br>"); ro(document, "document"); /* properties */ document.alinkColor = "red"; // active link color document.bgColor = "aqua"; // background color s = document.cookie; // cookie info s = document.domain; // server domain name document.fgColor = "blue"; // text color s = document.lastModified; // last modified date document.linkColor = "green"; // document link color s = document.location.toString(); // URL of current document s = document.referrer; // URL of document used to call current document s = document.title; // document title document.vlinkColor = "pink"; // color of previously viewed links if ((vers >= 4) || (nc)) { s = document.URL; // URL of current document } /* methods */ /* i/o methods */ // document.write("hello"); // write to document // document.writeln("world"); // writeln to document //s = document.getSelection(); // get currently selected text document.close(); // close the document stream document.open(); // open the document stream if (nc >= 4) { /* input methods */ /* window level event handling */ /* captureEvents(); */ /* handleEvent(); */ /* releaseEvents(); */ /* routeEvent(); */ } } objDocument(); /************************************************************************ * * * Form Object: * * * * Properties: * * action length name target * * encoding method * * * * Collections: * * elements[i] * * * * Objects: * * button_xxx hidden_xxx reset_xxx text_xxx * * checkbox_xxx password_xxx select_xxx textarea_xxx * * fileupload_xxx radio_xxx submit_xxx * * * * Methods * * reset submit * * * ************************************************************************/ function objForm() { document.write("<hr><br><u>Form Object</u><br>"); ro(document.myForm, "document.myForm"); /* properties */ s = document.myForm.action; // destination URL for form submission s = document.myForm.encoding; // MIME encoding of the form i = document.myForm.length; // number of form elements s = document.myForm.method; // how data input is sent to server <method=> s = document.myForm.name; // form name <name=> s = document.myForm.target; // name of window that displays response after submit /* methods */ // document.myForm.reset(); // reset form fields // document.myForm.submit(); // submit form /* forms array */ for (i = 0; i < document.forms.length; i++) { s = document.forms[i].name; } } //objForm(); /************************************************************************ * * * Anchor Object: * * * ************************************************************************/ function objAnchor() { var i; var s; document.write("<hr><br><u>Anchor Object</u><br>"); /* no properties, methods or events */ var s = document.myAnchor; // null object /* anchors array */ for (i = 0; i < document.anchors.length; i++) { s = document.anchors[i].name; } } objAnchor(); /************************************************************************ * * * Image Object: * * * * Properties: * * x x x x * * * * Methods * * x x * * * ************************************************************************/ function objImage() { var i; var b; var s; document.write("<hr><br><u>Image Object</u><br>"); ro(document.myImage, "document.myImage"); /* properties */ i = document.myImage.border; // border attribute <border=> b = document.myImage.complete;// flag for image loaded i = document.myImage.height; // image height <height=> i = document.myImage.hspace; // horizontal spacing <hspace=> s = document.myImage.lowsrc; // low res source file <lowsrc=> s = document.myImage.name; // image name <name=> s = document.myImage.src; // image source file <src=> i = document.myImage.vspace; // vertical spacing <vspace=> i = document.myImage.width; // image width <width=> i = document.myImage.x; // i = document.myImage.y; // /* images array */ for (i = 0; i < document.images.length; i++) { s = document.images[i].name; } } objImage(); </script> </form> </body> </html>